2024/10/15 2

var, let, const 차이점과 일시적 사각지대(TDZ)

JavaScript에서 변수 호이스팅은 중요한 개념이며, 이때 var와 let/const는 서로 다르게 동작합니다.var의 호이스팅: undefined로 초기화var로 선언된 변수는 호이스팅되며, 실행 컨텍스트가 생성될 때 해당 변수는 메모리의 최상단으로 끌어올려져 (hoisting) undefined로 초기화됩니다. 이는 변수 선언이 코드 어디에 있든 간에 자바스크립트 엔진이 실행 컨텍스트의 생성 단계에서 미리 메모리에 할당하고 undefined 값을 부여하기 때문입니다.예시console.log(x); // undefinedvar x = 5;console.log(x); // 5실행 순서자바스크립트는 코드 실행 전 var x를 호이스팅하여 메모리에 등록하지만, 그 값은 할당되지 않고 undefined로 ..

코드/JavaScript 2024.10.15

실행컨텍스트와 호이스팅

실행 컨텍스트(Execution Context)란?실행 컨텍스트는 JavaScript 코드가 실행되는 환경입니다.코드가 실행될 때 변수, 함수, 객체가 어떻게 메모리에 할당되고, 그 순서는 어떻게 되는지를 결정하는 것이 실행 컨텍스트입니다.실행 컨텍스트의 종류JavaScript에는 두 가지 주요 실행 컨텍스트가 있습니다.글로벌 실행 컨텍스트(Global Execution Context): 자바스크립트가 처음 시작될 때 생성되는 전역 컨텍스트입니다. 브라우저에서는 window 객체가 글로벌 실행 컨텍스트의 일부입니다.함수 실행 컨텍스트(Function Execution Context): 함수가 호출될 때마다 생성되며, 각 함수는 고유한 실행 컨텍스트를 가집니다.실행 컨텍스트 생성 단계실행 컨텍스트는 코드가..

코드/JavaScript 2024.10.15