기술면접

7_변수 선언 키워드 var : let : const 차이

WEB_CREASTORY 2024. 2. 8. 20:46

var는 ES6 이전의 구식 방식이므로, 보통 let 또는 const를 사용하여 블록 스코프를 지향합니다. 값을 변경할 필요가 없는 경우에는 const를 사용하여 의도를 명확히 할 수 있습니다.

1️⃣ var:
함수 스코프를 가집니다. 즉, 함수 내에서 선언된 var 변수는 해당 함수 내에서만 유효합니다.
호이스팅(hoisting)이 발생합니다. 변수 선언 전에 변수를 사용해도 에러가 발생하지 않고 undefined로 초기화됩니다.
재선언이 가능합니다. 동일한 변수명으로 여러 번 선언해도 문제가 발생하지 않습니다.


2️⃣ let:
블록 스코프를 가집니다. 즉, 블록({}) 내에서 선언된 let 변수는 해당 블록 내에서만 유효합니다.
호이스팅(hoisting)이 발생합니다. 하지만 선언 전에 변수를 사용하면 에러가 발생합니다.
재선언이 불가능합니다. 동일한 변수명으로 여러 번 선언하면 문법 에러가 발생합니다.


3️⃣ const:
블록 스코프를 가집니다. let과 마찬가지로 블록({}) 내에서 선언된 const 변수는 해당 블록 내에서만 유효합니다.
호이스팅(hoisting)이 발생하지 않습니다. 선언 전에 변수를 사용하면 에러가 발생합니다.
재할당이 불가능합니다. 즉, 한 번 선언된 값을 다른 값으로 변경할 수 없습니다. 하지만 객체나 배열의 내부 속성은 변경할 수 있습니다.