본문 바로가기

HTML ⁄ CSS ⁄ JS

JavaScript - 연대별로 보는 자바스크립트 변천사

 

선호도 1위, 사용률 1위에 빛나는 자바스크립트가 프로그래밍 언어로서 어떻게 발전해왔는지 연대별로 간단하게 알아보자.

 

1990년대

1995년, 자바스크립트 개발

1996년, 넷스케이프 내비게이터2에 탑재

모카(Mocha), 라이브스크립트를 거쳐 자바스크립트 로 부르게 되었다. J스크립트와 함께 파편화되면서 발생한 크로스 브라우징 이슈를 해결하기 위해 넷스케이프는 에크마 인터내셔널에 표준화를 요청했다.

1997년, ECMAScript1 발표

ECMAScript는 자바스크립트의 표준사양이다. 브라우저에 내장되는 자바스크립트 엔진은 이 ECMAScript 사양을 준수해서 만들어진다.

1998년, ES2 발표, DOM 레벨1 발표

ECMAScript2가 발표되었고, W3C에서도 DOM 레벨1을 발표했다. DOM, BOM 등의 웹API의 표준은 W3C에서 관리한다.

1999년, ES3 발표, Ajax 등장

Ajax는 Asynchronous JavaScript and XML의 약자로, 자바스크립트를 이용해서 서버-브라우저 간에 비동기로 데이터를 주고 받을 수 있는 통신 기능이다. 서버에서 필요한 데이터만 받아 변경이 필요한 내용만 부분적으로 변경할 수 있어 성능을 끌어올릴 수 있게 되었다.

 

2000년대

2005년, 구글 맵스 발표

웹 브라우저에서 자바스크립트와 Ajax 기반으로 동작하는 웹 애플리케이션의 유려한 성능과 가능성을 확인했다.

2006년, jQuery 등장

자바스크립트보다 쉽고 직관적이어서 DOM을 더욱 쉽게 컨트롤 할 수 있게 해주었다.

2008년, 구글의 V8 등장

데스크탑 앱 수준으로 빠르게 동작하는 웹 애플리케이션 구현을 위해 등장한 고성능 자바스크립트 엔진이다. 서버에서 수행하던 작업들이 클라이언트 사이드로 옮겨오면서 프론트엔드의 역할이 확장되었다. 오늘날 V8 외에 애플 사파리의 웹킷, 파이어폭스의 스파이더몽키, 마이크로소프트의 챠크라 등이 있다.

2009년, ES5 발표, HTML5 발표, Node.js 발표

ES5 부터 유니코드 문자를 식별자로 사용할 수 있게 되어 한글 변수명도 가능해졌다. Node.js는 브라우저가 아닌 환경에서도 자바스크립트가 동작할 수 있도록 V8으로 빌드된 자바스크립트 런타임 환경이다.

 

2010년대 +

2015년 ES6 발표

6년 만에 ES6를 발표했다. let const 화살표함수, 클래스, 모듈이 추가되었다.이후 1년 마다 필요한 기능 추가하고 있다.

2016년 ES7

**연산자, includes이 추가되었다.

2017년 ES8

async/await, Object.values, entries이 추가되었다.

2018년 ES9

rest, spread, Promise.finally, generator, for await ... of이 추가되었다.

2019년 ES10

Object.fromEntries, flat, flatMap optional catch binding이 추가되었다.

2020년

ES11 matchAll  BigInt, globalThis, allSettled, null 병합연산자('??'), 옵셔널 체이닝(?.), for...in이 추가되었다.