반응형

ES6 에서 LET , CONST라는 개념이 도입됫다 es5? 인가?

var a = 'abcd';

var a = 'bcdef';

이렇게 이미선언한 변수를 다시선언하면서 값을 넣는것도 가능하게된

이상한 구문이된다

하지만 let 을 선언하면 저런건 불가능해진다

일반 프로그래밍의 변수 선언과 비슷하게 된다는말이다

let은 변수처럼 다른값을 계속 바꿀수 있찌만

const 는 한번 값을 설정하면 다른데에서 값을 바꿀수는 없다 (참조변수는가능)

// 이미 만들어진 변수이름으로 재선언했는데 아무런 문제가 발생하지 않는다. var a = 'test' var a = 'test2' // hoisting으로 인해 ReferenceError에러가 안난다. c = 'test' var c // let let a = 'test' let a = 'test2' // Uncaught SyntaxError: Identifier 'a' has already been declared a = 'test3' // 값이 재할당이됨 // const const b = 'test' const b = 'test2' // Uncaught SyntaxError: Identifier 'a' has already been declared b = 'test3' //값이 재할당이 안됨 ( 참조변수는 가능)

결론

– ES6 에서는 var는 지양하고 가급적 let과 const를 사용하자

– 원시형에서 변수는 let, 상수는 const로 선언한다

– 참조형은 const로 선언한다


반응형

+ Recent posts