[ JS ]undefined2020-08-06 19:19:31undefined는 무슨 뜻일까? not defined와 undefined는 같은 뜻일까? 답부터 말하자면, 그렇지 않다 undefined는 자바스크립트가 해당 변수에 아직 값이 할당되지 않았을 때 주는 특별한 value라고 할 수 있다 즉, hoisting을 했거나 var = a;까지만 해서 값이 할당되기 전에 변수 a에 부여되는 특별한 값이 바로 undefined다 undefined는 키워드로 혹시 변수의 값을 undefined와 비교할 일이 있다면 'undefined'라고 스트링처럼 표현하는 것이 아니라 그냥 undefined라고 쓰면 된다 아예 선언되지도 않은 변수를 호출하면 Uncaught Reference error가 난다 아예 메모리 공간이 할당조차 되지 않았기 때문이다 undefined는 ..
[ JS ]Hoisting2020-08-04 00:21:16var a와 function b를 정의하기 전에 호출을 한다면 어떻게 될까? 순서대로 실행하는 프로그래밍 언어의 특성상 에러가 난다 하지만!! 자바스크립트에서는 에러가 나지 않는다 자바스크립트는 `hoisting`을 하기 때문이다 Hoisting이 무엇인가요? 자바스크립트에서는 변수와 함수를 정의하기 전에 호출을 하게 되면 hoisting이라는 현상이 일어난다 밑에 정의되어 있는 변수와 함수를 위로 끌어올려주는 것이다 실제 저장된 위치를 옮기는 것은 아니다 이런 현상은 자바스크립트의 실행을 크게 이단계로 나눌 수 있기 때문에 벌어진다 첫 번째, 생성 the global execution context가 만들어진다 내가 짠 코드를 쭉~ 훑으면서 컴퓨터 언어로 해석할 준비를 한다 그리고 이렇게 훑는 과정에서..