본문 바로가기

Slack 채널 정리

js 버전 메모

몇 년 전 메모긴 한데 그래도 추억이라 ...

팀내 js 스킬 교육을 할 수 있게 될런지 모르겠지만 혹 하게 된다면 필요할지도 모른다 생각되어 js 버전에 대해서 거칠게 한 번 정리해서 메모해봅니다.

1. 넷스케이프 사에서 처음 만듬.(자체의 버전 표기 있으며 현재 1.8인가 1.9 인가까지)
2. 표준 문제가 중요해지면서 (가령, IE 에서 상표명 분쟁을 피하기 위해 JScript라는 js 방언 출시 등등으로 표준의 필요성 커짐) 97년 ECMA 에서 표준 시도. (ECMAScript 라는 중립적(?) 이름 사용 시작)
3. 99년 ECMAScript 3 나왔고 현재 사용되는 거의 모든 브라우저에서 호환됨.
4. 09년 ECMAScript 5(ES5) 나옴. 많이 쓰이는 브라우져들에서는 어느 정도 다 지원(IE 9 는 83%, IE 10 이상은 99%). 
5. 15년 ECMAScript 2015( = ECMAScript 6, ES6), let, class, 화살표 표기 등 도입(자바로 치면 jdk 8 정도의 변환). IE 는 개발 중단된 상태여서 사용 포기해야 함. Edge 는 부분 지원.
5. 16년 ECMAScript 2016(= ES7)

덧.
1. 현재 회사에서 별 느낌 없이 쓰고 있는 js 버전이 ES5 라고 생각하면 됨. (물론 IE 8 ES5 지원 정도가 12% 수준이므로 그냥 대충 copy/paste 해가며 쓰다가 IE 8 이하에서 종종 문제 생길 수 있겠지만 그럴 정도의 js core api 활용도 못하고 있는 수준이므로 큰 문제 없음)
2. ECMAScript 2015(ES6 ) 이상 웹 개발에 써보려면 몇 가지 방법이 있는데 지금 그나마 간단한(?) 방법은 transpiler 사용하는거.
3. 버전 표기 혼란, 그리고 매년 새 버전 출시를 목표로 앞으로는 주로 연도 방식으로 버전 표기하려고 한다고 함.
4. 엄밀하게 구분하자면 ECMAScript != JS. 우리가 주로 웹 개발 언어로만 js 쓰고 있다 보니 우리가 보통 언급하는 js 는 실상 js core API(ECMAScript) + BOM + DOM