ES6 업그레이드 기능

ECMA스크립트(ECMAScript, 또는 ES)란, Ecma International이 ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어를 말한다. 자바스크립트를 표준화하기 위해 만들어졌다.

참조:

ECMA스크립트 - 위키백과, 우리 모두의 백과사전

1. let, const, block level scope

1.1 Block-level scope

var foo = 123; // 전역 변수

console.log(foo); // 123

{
  var foo = 456; // 전역 변수
}

console.log(foo); // 456

var의 경우, 함수 내부에서는 지역변수로 사용되나, block 은 적용되지 않는다.

이 것을 막기 위해 let 키워드가 만들어짐.

1.2 호이스팅

console.log(foo); // undefined
var foo;

console.log(bar); // Error: Uncaught ReferenceError: bar is not defined
let bar;

*자세한 설명은 직접 찾아보세요…생각보다 깊고 넓습니다.

2. const

const user = { name: 'Lee' };

// const 변수는 재할당이 금지된다.
// user = {}; // TypeError: Assignment to constant variable.

// 객체의 내용은 변경할 수 있다.
user.name = 'Kim';

console.log(user); // { name: 'Kim' }

결론 : 일단, const 썻다가 let으로 바꿔도 늦지 않는다.