기존에 JavaScript는 변수 선언시
var 로 변수를 선언했다.
그리고 ES6 부터는 let 과 const 가 추가되었는데 차이는 var 보다 엄격하고 스코프가 다르다.
# 재선언과 재할당
// var는 재선언이 가능하고 재할당도 가능하다
var name = 'ok'
var name = 'ok'
name = 'ok'
// let는 재선언은 안되지만 재할당은 가능하다
let name = 'ok'
name = 'ok'
let name = 'error'
// const는 재선언과 재할당 모두 안된다.
const name = 'ok'
const name = 'error'
name = 'error'
위 예제처럼 var 는 재선언과 재할당 모두 가능하지만
let은 재할당만 가능하고
const는 선언후에는 변경할 수 없다.
그래서 const는 상수나 객체로 쓰면 좋고
let은 할당만 바꿀때 사용하면 좋다.
# 호이스팅 주의점
호이스팅 시에 let은 변수선언이 위로 올라가지 않는다. 이 점 주의해야한다.
# 스코프 차이
var는 함수스코프이지만
let, const는 블록스코프이므로 {} 밖에서는 유효하지 않는다.
스코프가 var보다 더 한정적이다. 그래서 var의 전역변수 남발을 예방할 수 있다.
# 정리 잘 된 참조사이트
'프로그래밍 > JavaScript' 카테고리의 다른 글
JavaScript 객체 그리고 this (0) | 2020.03.11 |
---|---|
ajax 동기식과 콜백으로 실행순서 조정 (0) | 2020.02.28 |
자바스크립트 클로저란? (0) | 2020.02.13 |
자바스크립트 호이스팅이란 (0) | 2020.02.13 |
함수 표현 방식 ( 표현식, 선언식, 익명함수 ) (0) | 2020.02.12 |
댓글