[Deep JavaScript] ECMAScript 란?
ES5, ES6등은 ECMAScript가 배포된 버전이다.
5까지는 ECMAScript 5(=ES5)라는 명칭을 사용했지만, 6부터는 빠른 배포주기를 반영하기 위해 숫자 대신 연도를 붙여 ECMAScript 2015(=ES6) 같은 명칭을 사용한다.
브라우저마다 ECMAScript를 지원하는 범위가 각자 다르기 때문에, 각 브라우저마다 호환성 문제(Cross Browser Issues)가 발생한다.
이러한 문제를 위해 바벨(babel)이라는 오픈소스 JavaScript 트랜스 파일러를 사용한다.
바벨은 ES6 사양 기준으로 작성된 코드를 이전 버전과 호환되는 JavaScript버전으로 변환해준다.
주요 브라우저는 ES5까지 지원하기 때문에(ES6 표준 문법은 IE에서 지원되지 않는다)
바벨이 ES5코드로 변경해주어 호환성 문제를 해결 할 수 있게 해준다.