2.1. 자바스크립트의 탄생과 표준화

버전 연도 특징
ECMAScript 1 (ES1) 1997 초판
ECMAScript 2 (ES2) 1998 ISO/IEC 16262 국제 표준과 동일한 규격 적용
ECMAScript 3 (ES3) 1999 정규 표현식, try … catch 적용
ECMAScript 5 (ES5) 2009 HTML5와 함께 출현한 표준안
JSON, strict mode, 접근자 프로퍼티, 프로퍼티 어트리뷰트 제어, 향상된 배열 조작(forEach, map, filter, reduce, some, every)
ECMAScript 2015 (ES6) 2015 let/const, 클래스, 화살표 함수, 템플릿 리터럴, 디스트럭처링 할당, 스프레드 문법, rest 파라미터, 심벌, 프로미스, Map/Set, 이터러블, for…of, 제너레이터, Proxy, 모듈 import/export
ECMAScript 2016 (ES7) 2016 지수(**) 연산자, Array.prototype.includes, String.prototype.includes
ECMAScript 2017 (ES8) 2017 async/await, Object 정적 메서드(Object.values, Object.entries, Object.getOwnPropertyDescriptors)
ECMAScript 2018 (ES9) 2018 0bject rest/spread 프로퍼티, Promise.prototype.finally, async generator, for await ... of
ECMAScript 2019 (ES10) 2019 0bject.fromEntries, Array.prototype.flat,
Array.prototype.flatMap, optional catch binding
ECMAScript 2020 (ES11) 2020 String.prototype.matchAll, Biglnt, globalThis,
Promise.allSettled, null 병합 연산자, 옵셔널 체이닝 연산자, for... in enumeration order

2.2. 자바스크립트 성장의 역사

2.2.1. AJAX

AJAX(Asynchronous JavaScript and XML)란, 자바스크립트를 이용해 서버와 브라우저가 비동기(Asynchronous) 방식으로 데이터를 교환할 수 있는 통신 기능으로, XMLHttpRequest라는 이름으로 등장

Ajax 등장 이후의 웹페이지

2.2.2. V8 자바스크립트 엔진

구글에서 개발한 자바스크립트 엔진으로, 데스크탑 애플리케이션과 유사한 사용자 경험을 제공할 만큼 빠르게 동작하는 엔진

2.2.3. Node.js

2009년 라이언 달이 발표한, 구글의 V8 엔진으로 빌드된 자바스크립트 런타임 환경