[WIL] 230129 ES / ES5, ES6 문법 차이
JAVSCRIPT
브라우저에 동작을 나타내주기 위해서 자바스크립트를 사용해야 한다.
자바스크립트는 2009년 노드 js
가 탄생하면서 자바스크립트 만으로 컴퓨터 파일을 읽고 쓰고 네트워크 통신까지 활용 범위가 넓어지게 되었다.
그럼 ES가 뭐야?
ES는 ECMAScript
의 약자 이다. 자바스크립트는 Mocha라는 이름으로 탄생해 LiveScript
, 그리고 Javasciprt
라는 이름으로 만들어지게 되었고, 이후 MS에서 리버스엔지니어링을 통해 기능을 수정 보안 하고 JScript
라는 이름으로 나오게 되었다.
이 JScript
는 Javasciprt
와의 언어적 충돌이 있었고, ECMA International을 통해 ECMAScript1
이 새롭게 나오게 되었다.
브라우저 엔진들이 자바스크립트 코드를 이해하고 번역하고 실행하기 위해서 규격을 정한것이 ECMAScript
인데, Javasciprt
의 문법을 규격화한 표준 사항을 명시하고 있다고 생각하면 된다.
ES5와 ES6의 차이?
자바스크립트는 1995년에 탄생했는데, 초창기 부터 지금까지 아주 많은 기능들이 추가되었다. 이 버전이 변경되면서 업데이트된 버전이 바로 ES
version 인 것!
버전별로 어떤것이 추가되었는지에 대한 히스토리는 위키피디아 를 통해 알아볼 수 있다.
그럼 ES5
와 ES6
는 왜 유명할까?
일단 ES5
는 2009년에 출시되었고, ES5
는 당시 크롬, 파이어폭스, IE, Netscape 브라우저 회사들이 서로 상의를 거쳐 만들어진 문법이다. 이때 엄격모드(strict mode
), ForEach
, filter
, reduce
, some
, every
와 같은 메소들이 나왔고 getter
와 setter
및 JSON
이 지원되게 되었다.
ES6
는 ES5
가 출시되고 6년 뒤인 2015년에 탄생되었는데 이때 엄청 많은 최신문법들이 쏟아져 나왔다. 대표적으로 var
키워드가 호이스팅으로 인해 문제가 많았는데, let
과 const
가 나오면서 이를 보완했고, Class
, map
, Set
, for... of
, function
의 화살표 함수 및 이터널 그리고 제너레이터가 추가되었으며, 모듈의 import
/export
를 추가함과 동시에 Promise
를 도입하게 되었다.
우리가 최신 자바스크립트다 라고 말하는 건 ES6
를 가리킨다!
이후 버전들은 ES6
에서 조금조금씩 추가되었다. ( 크게 중요하지 않음....(?))
우리가 바벨을 사용하여 프로그래밍을 한다면, ES6
이후의 추가된 문법들은 거의 신경 쓰지 않고 프로그래밍이 가능하다.
만약 ES
버전별로 브라우저에서 호환되는 목록을 보고 싶다면 이곳에서 확인 가능하다.
Next Week
- 프로그래머스 알고리즘 (1 Lv ~ )
- ReactJS
- Styled-component
드림코딩 자바스크립트 마스터리 (ES6+)