[ES6] var, const, let

Cho Dragoo·2021년 8월 30일
0

ES6 문법

목록 보기
1/3
post-thumbnail

'노마드코더의 ES6의 정석' 동영상 강의를 토대로 복습한 내용입니다.

ES6에서 추가된 const, let 변수 선언의 원리를 보다 깊게 알고 있으면 좀 더 명확하고 안전한 개발 할 수 있다.

var

var good = 'hooo'
var good = 'not bad'

console.log(good)

//출력: not bad
  • var는 변수에 재할당, 재선언 전부 가능

console.log(good)

var good = 'not bad'

//출력: undefined
  • var변수 선언시 호이스팅이 작동한다.
  • hoisting이 작동하면 에러를 발생시키지 않고 undefined를 출력한다.



const

const good = 'hooo'
good = 'not bad'

console.log(good)

//출력: Uncaught TypeError: Assignment to constant variable
  • const는 변수에 재할당, 재선언 전부 불가

console.log(good)

const good = 'not bad'

//출력: Uncaught ReferenceError: good is not defined
  • const를 선언하면 TDZ(Temporal Dead Zone)에 가두기 때문에 다시 초기화 하기 전까지 참조가 불가능하다
  • hoisting이 작동하면 **ReferenceError**를 출력한다.



let

let good = 'hooo'
good = 'not bad'

console.log(good)

// 출력: not bad
  • let는 변수에 재할당 가능, 하지만 재선언 불가

console.log(good)

let good = 'not bad'

// 출력: Uncaught ReferenceError: good is not defined
  • let도 역시 변수 선언하면 TDZ(Temporal Dead Zone)에 가두기 때문에 다시 초기화 하기 전까지 참조가 불가능하다.
  • letconst처럼 hoisting이 작동하면 **ReferenceError**를 출력한다.
profile
어떤 문제든 파악 할 수 있으며 해결책을 찾을 수 있는 개발능력을 꿈꾸고 있습니다.

0개의 댓글