javascript 2

let 과 var의 차이

var와 let은 자바스크립트에서 변수를 선언할 때 사용하는 키워드로, 몇 가지 중요한 차이점이 있습니다. 1. 스코프(Scope)var: 함수 스코프를 가집니다. 함수 내에서 선언된 var 변수는 함수 전체에서 유효하며, 블록 스코프(예: if 문, for 문 등)를 무시합니다.let: 블록 스코프를 가집니다. let 변수는 블록(중괄호 {}) 내에서만 유효합니다.예제:function testVar() { if (true) { var x = 1; } console.log(x); // 1 (블록 밖에서도 접근 가능)}function testLet() { if (true) { let y = 1; } console.log(y); // Reference..

호이스팅(Hoisting)

호이스팅(Hoisting)은 자바스크립트에서 변수가 선언된 위치와 상관없이 해당 변수 선언이 코드의 최상단으로 끌어올려지는 동작을 의미합니다. 호이스팅은 변수 선언뿐만 아니라 함수 선언에도 적용됩니다. 다만, 변수의 초기화는 호이스팅되지 않으며, 변수 선언만 호이스팅됩니다. ( var가 아닌 let을 쓴다면 'ReferenceError' 발생! 이유는 ' TDZ '  아래에서 다시 설명) 예를 들어, 아래와 같은 코드가 있을 때:console.log(x); // undefinedvar x = 5;console.log(x); // 5위의 코드는 실제로는 다음과 같이 동작합니다:var x;console.log(x); // undefinedx = 5;console.log(x); // 5 즉, 변수 x의 선언이..