Ecma, ECMAScript, TC39
- 자바스크립트는 Ecma International 에 의해 "ECMAScript" 로 표준화된다.
- ECMAScript 표준은 ECMA-262이다.
- 표준 담당자는 TC39(Technical Committee) 조직의 일원이다.
ES6 와 ES2015
- ES6 와 ES2015 는 같은 버전이다.
- 자바스크립트 버전은 ES1, ES2, ... 처럼 순차적으로 늘어나다 2015년부터 버전의 년도를 표기하기 위해 ES6, ES2015 라는 표기를 병행했다.
- 예정된 변경사항을 참조할 때는 ESnext ES.next 와 같은 표현을 사용한다.
자바스크립트 엔진의 역할
- 자바스크립트 구문 분석
- 인터프리트 혹은 기계어로 컴파일
- 사양대로 작동하는 환경 내에서 결과 실행
브라우저별 자바스크립트 엔진
- V8 엔진
- 구글 크롬
- 크로미움, 오페라, 엣지 v79 이상
- JavaScriptCore 엔진
- 사파리
- iOS 버전의 브라우저들 (크롬도 포함)
- iOS 버전의 브라우저들은 애플의 정책 때문에 실행 메모리 할당이 어렵기 때문이다.
- JScript
- 인터넷 익스플로러
- 파이어폭스
- SpiderMonkey
V8 과 JavaScriptCore 의 퍼포먼스는 JavaScriptCore 엔진이 조금 더 빠르다고 한다.
ES2015(ES6) 이후 새롭게 도입된 도구들
let
,const
- 화살표 함수 (
=>
) - 함수 매개변수 개선 (
...
,{} = object
,[] = object
) - 이터러블 객체 (
for-of
,for-await-of
,generator
) - 스프레드 구문 (
[a, ...array]
) - 나머지 구문
- 기타 구문 개선 (8진수 리터럴, 이진수 리터럴, 숫자 표기 시 구분 문자 등)
- 디스트럭쳐링
- 클래스
- 비동기 프로그래밍 개선 (
Promise
,async
,await
) - 객체 리터럴 개선 (computed property name, shortened property, 메서드 구문, 후행 쉼표)
- 템플릿 리터럴
- 타입이 있는 배열
- 공유 메모리
- 유니코드 문자열 개선
- 정규 표현식 개선
- 맵
- 세트
- 위크 맵, 위크 세트, 약한 참조
- 표준 라이브러리 추가 (
Object
,Array
,Array.prototype
,String
,String.prototype
,Math
에 대한 메서드들) - 동적 메타 프로그래밍 지원
- 심볼
BigInt
다만, 새로운 기능이 생겼다고 해서 예전에 지원되던 기능이 사라지진 않는다. TC39의 철학은 "웹을 망가뜨리지 말라" 이다.
반응형
'자바스크립트 > 웹개발자를 위한 자바스크립트의 모든 것' 카테고리의 다른 글
웹 개발자를 위한 자바스크립트의 모든 것 6장 이터러블, 이터레이터, 제너레이터 (0) | 2023.01.16 |
---|---|
웹 개발자를 위한 자바스크립트의 모든 것 5장 새로운 객체 기능 (0) | 2023.01.02 |
웹 개발자를 위한 자바스크립트의 모든 것 4장 클래스 (0) | 2022.12.29 |
웹 개발자를 위한 자바스크립트의 모든 것 3장 새로운 함수 기능 (0) | 2022.12.22 |
웹 개발자를 위한 자바스크립트의 모든 것 2장 let, const 정리 (0) | 2022.12.18 |