개발관련/하루 30분 모딥다
하루 30분 모던 자바스크립트 딥 다이브. let, const 키워드
kku_lurgi
2023. 6. 16. 20:21
let 키워드
- 변수 중복 선언 금지.
- 블록 레벨 스코프
- 변수 호이스팅
- let 키워드로 선언한 변수는 변수 호이스팅이 발생하지 않는 것처럼 동작한다. 하지만 이는 아니다.
b. 변수 호이스팅이 발생하여 위와 같은 결과가 나타난다.let foo = 1; { console.log(foo) //Referenc Error let foo - 2; }
- let 키워드로 선언한 변수는 “선언 단계”와 “초기화 단계”가 분리되어 진행된다.
- 스코프의 시작지점 부터 초기화 지점까지 변수를 참조할 수 없는 부분을 TDZ(Temporal Dead Zone)이라 한다.
- var 키워드로 선언한 전역변수, 전역 함수, 암묵적 전역은 전역 객체 window의 프로퍼티가 된다. 하지만 let 키워드로 선언한 전역 변수는 전역 객체의 프로퍼티가 아니다
const 키워드
- 선언과 초기화
- const 키워드로 선언한 변수는 반드시 선언과 동시에 초기화 해야한다!
- 재할당 금지
- 상수
- 상수는 재할당이 금지된 변수를 말한다
- 재할당이 금지되었을 뿐 “불변”을 뜻하진 않는다.
- 따라서 cosnt 변수에 객체를 할당한 경우 값을 변경할 수 있다.
var 키워드는 사용하지 않으며 변수 선언은 기본적으로 const를 사용하고, let은 재할당이 필요한 경우에 한정해 스코프를 최대한 좁게 만들어 사용하는 것이 원칙이다.
반응형