WEB

[Javascript] var, let, const 차이

 

[Javascript] var, let, const 차이

 

값 변경

var a = 10;
a = 11;

let b = 10;
b = 11;

const c = 10;
c = 11; //error

const 는 상수이기 때문에 한번 지정한 값을 바꾸려고 하면 에러가 난다.

 

호이스팅

console.log(a);
var a = 10;

console.log(b);
let b = 10; //undefined error

console.log(c);
const c = 10; //undefined error

var 는 호이스팅이 되지만 let 과 const 는 호이스팅이 되지 않는다.

이때 호이스팅이랑 함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위의 최상단에 선언하는 것을 말한다.

자바스크립트 함수는 실행되기 전에 함수 안에 필요한 변수값들을 모두 모아서 유효 범위(함수 블록)의 최상단에 선언한다. 

재선언

var a = 10;
var a = 20;

let b = 10;
let b = 20; //SyntaxError

const c = 10;
const c = 20; //SyntaxError

재선언은 var 만 가능하다.

 

 

 

즉 정리하자면

 

  값 변경 호이스팅 재선언
var O O O
let O X X
const X X X

 

 

 

참고

https://itholic.github.io/js-var-let-const/

 

 

728x90
반응형