ESMA Script(또는 ES)란 ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어를 말한다. 자바스크립트를 표준화하기 위해 만들어졌다. 1997년 6월에 나온 초판을 시작으로, 21년 6월에 나온 12번째 판본인 ECMAScript 2021이 22년 1월 기준 가장 최신 판본이다.
출처: https://en.wikipedia.org/wiki/ECMAScript#12th_Edition_%E2%80%93_ECMAScript_2021
판본 | ES5 | ES6 |
---|---|---|
출시년월 | 2019/12 | 2015/06 |
커뮤니티 지원 | 대부분의 커뮤니티가 지원함 | ES5에 비해서 지원하는 커뮤니티가 적음 |
데이터 유형 | string, number, boolean, null, undefined | symbol 도입 |
변수의 정의 | var | let, const 도입 |
반복문 | for | 반복 가능한 객체에 대응하는 for..of가 추가됨 |
화살표 함수 | 존재하지 않음 | 도입 |
템플릿 문자열 | 존재하지 않음 | 도입 |
구조 분해 할당 | 존재하지 않음 | 도입(문법의 추가로 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 됨) |
클래스 | 라이브러리마다 구현하는 방법이 다름 | 도입되면서 하나로 통일 |
함수 매개 변수의 디폴트값 설정 | 존재하지 않음 | 도입(undefined 대신 사용할 값을 설정할 수 있게 됨) |
Rest 파라미터, Spread 표현식 | 존재하지 않음 | 도입(객체 및 배열 리터럴의 사용편의성이 증가됨) |
제네레이터 | 존재하지 않음 | 도입(코드의 흐름에서 빠져나왔다가 다시 돌아올 수 있음) |
프로미스 | 존재하지 않음 | 도입(콜백 지옥 해결, 비동기 처리들을 순서대로 처리해서 읽기 쉽게 작성이 가능해짐) |
모듈 | 별도의 과정을 통해 브라우저에서 불러올 수 있도록 처리를 해야 했음 | import/export도입(키워드를 통해 모듈을 간단히 불러올 수 있음) |
참조 및 출처:
https://ui.toast.com/fe-guide/ko_ES5-TO-ES6 (ES5 to ES6+) https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment (구조 분해 할당)
https://k39335.tistory.com/83?category=699283 (ES6 정리)
표가 정리가 잘 되어있네요 ㅎㅎ