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

 

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

 

+ Recent posts