본문 바로가기

기술면접

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

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

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


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


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

'기술면접' 카테고리의 다른 글

9_Arrow Function 무엇인가?  (0) 2024.02.13
8_Async/Await & Promise의 차이  (0) 2024.02.13
6_useEffect 실행 순서  (1) 2024.02.07
5_useRef 란 무엇인가?  (0) 2024.02.06
4_가상 돔(Virtual DOM & 실제 돔(Real DOM)  (0) 2024.02.05