ES2016(ES7) 변화, ES2017(ES8)의 변화
ES7
ES6에 비해 변경된 것이 별로 없다.
제곱연산자와 includes 메소드가 가장 큰 변화
제곱연산자
** 를 통해 제곱연산을 할 수 있다.
Math.pow(5, 3); // 125
5 ** 3; // 125
var i = 5;
i **= 3; // 125
includes(찾을요소, 시작 순서)
배열에 해당 요소가 있는지 확인
indexOf와 같은 결과가 나오지만 NaN에 대한 처리가 다르다.
[NaN].includes(NaN); // true
[NaN].indexOf(NaN) > -1; // false
ES8
메소드
Object
-
Object.values(객체)
-
Object.entries(객체)
-
Object.keys와 Object.values를 합쳐 놓은 메소드
-
-
Object.getOwnPropertyDescriptors(객체)
-
속성 설명, OwnProperty이기에 상속받지 않은 속성들만 설명
-
String
-
문자열.padStart(최종길이, 보충문자열)
-
문자열 앞부분에 공백이나 문자열 추가하여 최종 길이로 만듬, 최종길이가 안채워지면 보충 문자열이 반복해서 들어감 원래 길이보다 최종길이의 값이 작으면 기존 문자열 반환
-
-
문자열.padEnd(최종길이, 보충문자열)
-
padStart와 같지만 문자열 뒷부분에 공백이나 문자열 추가
-
Trailing commas in function
-
함수의 인자, 매개변수 마지막에 콤마가 있어도 에러가 나지 않는다.
-
git 같은 버전관리에서 콤마하나 추가한 것으로 수정된 것으로 나타나는 관리상 비효율적인 행동을 줄이기 위해 허용한다.
A( 'a', () => {
console.log('hello');
}, () => {
console.log('zero');
},
// 이렇게 마지막에 콤마를 붙이면 다음 인자가 더 들어올 것을 대비할 수 있습니다. );
async/ await
-
promise를 await이 받아 처리함
-
async는 promise가 없으면 의미 없음
-
async 함수로 선언 후 await을 사용해야함.
ES7 변화, ES8의 변화
https://www.zerocho.com/category/ECMAScript/post/57d51fd976f9ec00153633b5
https://www.zerocho.com/category/ECMAScript/post/58cea165ab6eaa00180c5234
https://www.zerocho.com/category/ECMAScript/post/58d142d8e6cda10018195f5a
'아티클' 카테고리의 다른 글
[아티클 프로젝트 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 |
[아티클 프로젝트 029] ES6부터 ES2020까지 03. ES9 간단하게 알고가기 (0) | 2020.08.20 |
[아티클 프로젝트 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 |
[아티클 프로젝트 019] react-testing-library 를 사용하여 TDD 개발 흐름으로 투두리스트 만들기 / 비동기적으로 바뀌는 컴포넌트 UI 테스트 (0) | 2020.08.05 |