본문 바로가기

DEV/Web

ES - ECMAScript

 

 

 

ES(ECMAScript)

Ecma 인터내셔널의 ECMA-262 기술 규격에 정의된 

표준화된 스크립트 프로그래밍 언어

 

 

 

자바스크립트를 표준화하기 위해 만들어졌고,

자바스크립트 이외에도 액션스크립트와 J스크립트 등 다른 구현체도 포함하고 있다.

 

(출처 - wiki ECMA 스크립트) 

 

 

 

 

1996년 Netscape는 자바스크립트의 표준화를 위해

ECMA-262라는 이름의 기술 규격을 ECMA International에 제출하였고,

이렇게 ECMAScript(ES)라는 새로운 언어 표준이 만들어졌다.

 

 

 

 

 

ECMAScript 초기 버전 이후에 언어에 대한 연구가 계속되었고,

여러 버전을 거쳐, 2009년 우리가 잘 알고있는 ES5가 등장한다.

 

 

출처 - w3school

 

ES5는 위와 같은 브라우저에서 지원하였는데,

2015년에 출시된 ES6 버전부터는 한가지 문제가 발생한다.

(ES6에 추가된 다양한 내용은 다음과 같다, 참고 : http://es6-features.org/#Constants)

 

 

 

 

자바스크립트의 최신 문법을 지원하지 않는 브라우저에서 호환성 문제가 발생하는 것이다.

 

이러한 문제를 해결하기 위해, Babel과 같은 자바스크립트 변환기를 사용하게 된다.

Babel은 ES6 이상의 버전으로 작성된 코드를 이전 버전으로 변환해준다.

 

 

 

 

React의 경우, 웹팩이라는 번들러를 많이 사용하는데

React에 설치된 다양한 로더 중,

babel-loader라는 로더가 자바스크립트 파일들을 불러오면서

최신 자바스크립트 문법으로 작성된 코드를 ES5 문법으로 변환해준다.

 

 

 

 

리액트를 공부하면서, 챕터 앞 부분에

ES6, React의 Loader 등 몇 가지 내용을 다루는데

몇 가지 궁금한 사항들이 생겨 위와 같이 정리를 해 보았다.

 

 

ES의 히스토리에 대해 이해하기 위해서는

새로 추가된 기능에 대해 추가적인 공부를 해야겠다.

 

 

 

 

마지막으로, 브라우저 별 ES 호환 여부가 정리된 사이트를 소개하고 포스팅을 마친다.

 

https://kangax.github.io/compat-table/es6/

 

ECMAScript 6 compatibility table

 

kangax.github.io

 

 

 

 

'DEV > Web' 카테고리의 다른 글

a태그 클릭 시 팝업 띄우기  (0) 2020.09.03
SweetAlert : Alert 디자인 / 라이브러리  (0) 2019.08.29