let,var,const의 차이점
1190 단어 기술면접JavaScriptJavaScript
let, var, const의 차이점 ?
우선 var
는 let
과 const
와의 변수 선언방식에서의 차이점이 있습니다.
var | let | const | |
---|---|---|---|
재할당여부 | 가능 | 가능 | 불가 |
스코프 | 함수레벨 | 블록레벨 | 블록레벨 |
변수 호이스팅 | 선언문 이전 참조가능. 단, 할당문 이전 변수를 참조하면 undefined 를 반환 | 선언과 초기화가 분리되어 진행.일시적 사각지대 구간 존재(TDZ) | 선언과 초기화가 동시에 진행됨 |
var
키워드는 변수 중복선언이 가능한데 별다른 에러가 발생하지 않는대신 , 이때 변수를 중복선언 하면 할당된값까지 의도치않게 먼저 선언된 변수 값이 재할당되어 변경되는 부작용이 발생합니다
let bar =123 ;
// let이나 const 키워드로 선언된 변수는 같은 스코프내에 중복선언을 허용하지않음
let bar = 456; // 구문오류
하지만 let키워드로 이름이 같은 변수를 중복선언하면 '문법에러'가 발생한다. 따라서 초기화 단계 시작 지점까지 변수를 참조할 수 없는 일시적 사각지대(Temporal Dead Zone: TDZ) 구간이 존재합니다.
- ES6에서는 var를 사용하지 않는다.
- 재할당이 필요한 경우 한정해 let 키워드를 쓴다. 이때 변수의 스코프는 최대한 좁게!
- 변경이 발생하지 않고 읽기 전용으로 사용하는 원시값과 객체는
const
를 사용한다. const
키워드는 재할당을 금지하므로var
,let
보다는 안전하다.
Author And Source
이 문제에 관하여(let,var,const의 차이점), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@corepen_/letvarconst의-차이점저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)