var
· 함수 스코프를 따름 함수 내에서 선언된 경우 함수 내에서만 유효
· 호이스팅(hoisting)이 발생합니다. 즉, 변수 선언을 스코프 상단으로 끌어올리는 동작이 발생
· 블록 스코프를 무시합니다. if, for, while 등의 블록 내에서 선언된 변수도 함수 스코프를 가짐
· 값을 재할당할 수 있음.
let
· 블록 스코프를 따름. if, for, while 등의 블록 내에서 선언된 경우 해당 블록 내에서만 유효
· 호이스팅(hoisting)은 발생하지만 선언 전에 변수를 참조하면 ReferenceError가 발생
· 값을 재할당할 수 있음.
const
· 블록 스코프를 따릅니다.
· 변수에 할당한 값을 변경할 수 없습니다. 즉, 재할당이 불가능합니다. 하지만 객체나 배열 등의 복합 데이터 타입에 대해서는 내부의 값을 변경할 수 있습니다. 즉, 변수 자체는 불변하지만 내부 값은 변경될 수 있습니다.
· 호이스팅(hoisting)이 발생하며, 선언 전에 변수를 참조하면 ReferenceError가 발생합니다.
일반적으로 const를 사용할 수 있는 경우에는 const를 사용하여 선언하는 것이 좋습니다. 그 이유는 변수를 재할당하는 것을 방지하여 코드의 가독성과 유지보수성을 높이기 때문입니다. 그러나 변수의 값을 변경해야 하는 경우에는 let을 사용하고, 가급적 var는 피하는 것이 좋습니다.
'웹 개발 > Javascript' 카테고리의 다른 글
[javascript] 호이스팅이란? (0) | 2024.04.16 |
---|---|
[javascript] iOS같은 datepicker Rolldate 소개 및 사용방법 (0) | 2024.04.12 |
[javascript] 변수의 값으로 객체 조회하기 (0) | 2024.04.04 |