ES2018(ES9) 변화
Rest, Spread
Rest
- 선택되지 않은 나머지 속성을 모아준다.
- 값이면 복사하고 객체는 참조한다.
const { a, ...rest } = {
a: 1, b: 2, c: 3
};
console.log(rest); // { b: 2, c: 3}
- 코드 출처 : 제로초님 블로그
Spread
- Object.assign과 비슷하다.
- 값이면 복사하고 객체는 참조한다.(같은 속성명이라면 덮여씌워진다.)
const obj = {
a: 1, b: 2, c: 3
};
const spread = {
a: 3, d: 4, ...obj,
};
console.log(spread); // { a: 1, b: 2, c: 3, d: 4 } (a: 3이 덮어씌워짐)
- 코드 출처 : 제로초님 블로그
Promise.prototype.finally
- then, catch외에 finally 추가
- promise 실행 결과에 상관없이(성공 실패 여부 상관 없이) 마지막에 무조건 실행
- finally 뒤에 then, catch 등을 체이닝 할 수 있음
- resolve 값은 바꿀 수 없고 reject값만 바꿀 수 있다.
for-await-of (Async iteration)
- 비동기 iterable 객체를 반복하는 구문
- Async for - of문은 비동기 함수, 비동기 generator 함수 내에서만 사용 가능
- promisa.all외에도 비동기 반복 처리에 옵션이 하나 더 생김
정규표현식
- lookbehind 생김 - 특정 문자열 뒤의 문자열을 찾는 기능 - 이를 위해 ?>=, ?>! 심볼 추가
- 캡쳐링 그룹에 네이밍가능
- 캡쳐링이란? 괄호로 묶어준 것들
- 기존에는 순서대로 번호가 매겨졌지만 이제 사용자가 네이밍할 수 있음
- 결과에 groups 속성으로 접근 가능
- s 플래그 추가되어 .의 기능이 강화
- u 플래그 추가(특정 유니코드를 정규표현식으로 표현 가능 해짐)
- \n도 매칭
ES2018(ES9)의 변화
https://www.zerocho.com/category/ECMAScript/post/5adae68aca91b1001b14dd29
[JS] ECMA2018 : ES9 알아보기
https://a-tothe-z.tistory.com/15
'아티클' 카테고리의 다른 글
[아티클 프로젝트 038] 플래닝 포커(Planning Poker) (0) | 2020.09.11 |
---|---|
[아티클 프로젝트 035] Chrome 86 업데이트 :focus-visible, Quick Focus Highlight (접근성) (0) | 2020.09.08 |
[아티클 프로젝트 034] [SOCAR FRAME 만들기 #3] 컴포넌트, 제대로 만들어 쉽게 쓰자! (1탄) (0) | 2020.08.28 |
[아티클 프로젝트 033] SEO 그것을 알려드림 (0) | 2020.08.27 |
[아티클 프로젝트 028] ES6부터 ES2020까지 02. ES7, ES8 간단하게 알고가기 (0) | 2020.08.19 |
[아티클 프로젝트 027] ES6부터 ES2020까지 01. ES6 간단하게 알고가기 (0) | 2020.08.18 |
[아티클 프로젝트 025] React밖에 모르는 당신에게. GatsbyJS한 잔, '채용~' (0) | 2020.08.12 |
[아티클 프로젝트 023] 2020년과 이후 JavaScript의 동향 - JavaScript(ECMAScript) (0) | 2020.08.10 |