ECMAScrip의 약어를 뜻하며 자바스크립트의 표준, 규격을 나타내는 용어입니다.
ES5, ES6 처럼 뒤에오는 숫자는 버전을 뜻한다. ES5(2009년), ES6(2015년) 출시하였다.
먼저 var키워드의 단점을 알아보겠습니다.
var x = 'global'; // 전역 변수
function foo () {
console.log(x); // 지역 변수 x의 호이스팅으로 인해 undefined 출력
var x = 'local'; // 지역 변수
}
foo();
console.log(x); // global 출력
function foo() {
x = 10;
var y = 20;
}
foo();
console.log(x); // 10
위와 같은 상황일때 변수 x는 var 전역 변수가 되고 foo함수를 호출하기 전까지 x라는 변수는 존재하지 않는 변수이다.