본문 바로가기

분류 전체보기18

[TIL] 2022/02/17 호이스팅, var, let, const 호이스팅 변수 선언 execution을 스코프 최상단으로 올려 실행하는 것. 변수의 선언을 유효범위 최상단으로 끌어올려 실행한다. 변수 식별자(var let const)마다 유효범위(스코프)가 다르다. var은 함수 스코프, let const는 블럭 {} 스코프를 가진다. 변수 호이스팅, 함수 호이스팅이 있다. 변수 호이스팅 우선은 JS에서 변수를 만들 때는 1. 선언 2. 초기화 3. 할당 세 단계로 나눠서 진행된다. 선언 - 메모리에 변수의 공간을 확보 초기화 - 변수에 undefined 값을 부여 할당 - '=' 연산자로 원하는 값을 부여 그러니까 호이스팅한다는 것은 스코프에 변수 선언하는 코드가 존재한다면 해당 변수의 '선언'은 스코프 최상위에서 진행한다는 거다. 단, var 식별자는 '선언'과 .. 2022. 2. 17.
[TIL]2022/02/16 JS에서 변수가 생성되는 과정 1. 선언 2. 초기화 3. 할당 세 단계로 진행된다. ES6 이전에는 var로 선언하는 거 밖에 없었는데 이후에 const와 let이 추가되었다. var로 선언하면 var 식별자 생략이 가능하다. var me = 1; 라는 명령문이 있으면 JS는 우선 scope에 변수를 등록해 공간을 1. 확보(선언)하고 undefined로 2. 초기화(초기화)한 후 마지막에 me = 1로 3. 할당 한다. const는 선언과 동시에 할당이 되어야한다. const a = 10 const로 선언된 변수는 재할당이 안됨. a = 11 (error) const로 선언된 객체는 재할당은 안되지만 속성의 재할당은 가능하다. stackoverflow q string.length property No.. 2022. 2. 16.
[TIL]2022/02/14 1. console.log() 로 객체를 프린트 할 때, 객체 값이 업데이트 되면 프린트된 내용도 같이 업데이트된다. student 객체를 업데이트 하기 전에 콘솔을 찍었는데 업데이트 후, 로그도 그걸 반영했다. console.log는 다른 언어의 print 처럼 텍스트를 찍고 끝이 아니라, 객체를 실시간으로 참조하기 때문이다. 2. 함수 표현식(=>) 함수 선언식 function add(x,y) { return x+y } 함수 표현식 var add = function(x,y) => { return x+y } 함수 표현식은 function 식별자를 생략하고, 함수에 return 문만 있을 경우, {} 랑 return을 안쓰고 ()써도 된다. 마치 C에서 if{코드}에서 코드가 한 줄일 경우 {}를 생략해.. 2022. 2. 14.
[TIL]2022/2/3 2022. 2. 3.