ECMAScript 2018
JavaScript의 이름 지정 규약은 ES1, ES2, ES3, ES5, ES6에서 시작되었습니다.
하지만 ECMAScript 2016과 2017은 ES7과 ES8으로 불리지 않습니다.
2016년 이후로 새로운 버전은 연도로 이름 붙여졌습니다(ECMAScript 2016/2017/2018).
ECMAScript 2018의 새로운 기능
이 장에서는 ECMAScript 2018의 새로운 기능을 소개합니다:
- 비동기 반복
- Promise Finally
- 객체 Rest 속성
- 새로운 RegExp 특성
JavaScript 비동기 반복
ECMAScript 2018는 비동기 반복자와 이터러블 객체를 추가했습니다.
비동기 반복을 통해 우리는 다음과 같이 할 수 있습니다: for/of
루프에서 사용 await
키워드.
实例
for await () {}
Firefox와 Safari는 JavaScript 비동기 반복을 지원하는 첫 번째 브라우저입니다:
크롬과 파이어폭스는 모든 새 RegExp 기능을 지원하는 첫 번째 브라우저입니다: | IE | 파이어폭스 | 사파리 | 오페라 |
---|---|---|---|---|
Chrome 63 | 에지 79 | Firefox 57 | Safari 11 | Opera 50 |
2017년 12월 | 2020년 1월 | 2017년 11월 | 2017년 9월 | 2018년 1월 |
JavaScript Promise.finally
ECMAScript 2018는 다음과 같이 사용합니다: Promise.finally
Promise 객체의 완전한 구현을 완료했습니다:
实例
let myPromise = new Promise(); myPromise.then(); myPromise.catch(); myPromise.finally();
Chrome와 Firefox는 지원하는 첫 번째 브라우저입니다: Promise.finally
의 브라우저:
크롬과 파이어폭스는 모든 새 RegExp 기능을 지원하는 첫 번째 브라우저입니다: | IE | 파이어폭스 | 사파리 | 오페라 |
---|---|---|---|---|
Chrome 63 | Edge 18 | Firefox 58 | 파이어폭스 55 | Opera 50 |
2017년 12월 | 2018년 11월 | 2018년 1월 | 2017년 7월 | 2018년 1월 |
JavaScript 객체 Rest 속성
ECMAScript 2018는 Rest 속성을 추가했습니다.
이는 우리가 객체를 파괴하고 남은 부분을 새로운 객체에 모을 수 있게 합니다:
实例
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 }; x; // 1 y; // 2 z; // { a: 3, b: 4 }
Chrome, Firefox, Opera 는 객체 Rest 속성을 지원하는 첫 번째 브라우저입니다:
크롬과 파이어폭스는 모든 새 RegExp 기능을 지원하는 첫 번째 브라우저입니다: | IE | 파이어폭스 | 사파리 | 오페라 |
---|---|---|---|---|
Chrome 60 | 에지 79 | 크롬 60 | 파이어폭스 55 | 사파리 11.1 |
오페라 47 | 2020년 1월 | 2018년 3월 | 2017년 7월 | 2018년 3월 |
2017년 8월
새로운 JavaScript RegExp 특성
- ECMAScript 2018은 4개의 새로운 RegExp 특성을 추가했습니다:
- Unicode 속성 응축 (\p{...})
- 후행 주제어(Lookbehind Assertions) (?<= )과 (?<! )
- 이름 지정된 캡처 그룹(Named Capture Groups)
s (dotAll) 기호
크롬과 파이어폭스는 모든 새 RegExp 기능을 지원하는 첫 번째 브라우저입니다: | IE | 파이어폭스 | 사파리 | 오페라 |
---|---|---|---|---|
크롬 64 | 에지 79 | 파이어폭스 78 | 사파리 12 | 오페라 51 |
2018년 1월 | 2020년 1월 | 2020년 6월 | 2018년 9월 | 2018년 2월 |