자바스크립트 호이스팅(Hosting)자바스크립트 호이스팅은 변수와 함수 선언이 스코프의 최상단으로 끌어올려진 것처럼 동작하는 현상을 말한다.코드를 실행하기 전에 자바스크립트 엔진이 해당 스코프(함수나 블록) 전체를 스캔하여 변수와 함수 선언을 먼저 처리하기때문에 이런 현상이 발생한다. 호이스팅은 마치 코드를 실제 작성한 위치와 상관없이 선언이 맨 위로 이동하는 것처럼 보인다. 변수 호이스팅varvar 키워드는 선언과 초기화가 동시에 호이스팅 된다. 이때 초기화란 값을 할당하는 작업이 아닌 메모리 공간을 확보하고 자동으로 undefined를 할당하는 과정이다.따라서 name 변수를 실제로 선언한 상단에서 호출했음에도 에러가 나지 않고 undefined를 출력한다.console.log(name); // u..
let, const 키워드 let 키워드, const 키워드를 알아보기 전에 var 키워드를 알아보자. [var 키워드] var 키워드는 변수를 선언할 때 사용하며 변수는 스코프(scope)로 구분한다.크게 로컬 변수(Local variable), 글로벌 변수(Global variable)로 나뉜다. 로컬 변수(Local variable) - 함수, 오브젝트 글로벌 변수(Global variable) - 프로그램 전체 ES5에서 vat 키워드를 사용하여 변수를 선언하도록 하기 위해 'use strict'를 도입했다.'use strict'를 사용하면 var 없이 선언 시에 에러가 발생한다. 하지만 근본적으로 var의 문제를 해결하지 못한다.그래서 var 키워드의 문제점을 해결하기 위해 나온 것이 let 키..