javascript 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

undefined와 null의 차이

자바스크립트의 '없음'을 나타내는 값은 undefined와 null로 두 가지가 있습니다.두 값의 의미는 같은 것 같지만 미세하게 다르고, 사용하는 목적 또한 다릅니다. Undefinedundefined는 사용자가 명시적으로 지정할 수도 있고, 자바스크립트 엔진이 자동으로 부여하는 경우도 있습니다. 다음은 자바스크립트 엔진이 자동으로 undefined를 부여하는 경우는 세 가지 경우입니다.// 값을 대입하지 않은 변수, 즉 데이터의 영역의 메모리 주소를 지정하지 않은 식별자에 접근할 때var a;console.log(a) // undefiend// 객체 내부의 존재하지 않는 프로퍼티에 접근하려고 할 때var obj = { a: 1};console.log(obj.b); // undefined// retur..

코드/JavaScript 2024.05.17