게시글

강좌17 - ECMAScript - 4년 전 등록 / 3년 전 수정

ES2016(ES7) 변화

조회수:
0

안녕하세요. 이번 시간에는 ES2016에서 바뀐 점에 대해 알아보겠습니다! 원래는 따로 카테고리를 하나 만들려고 했는데 ES2016은 별로 바뀐 게 없더라고요. 그래서 이번 강좌에 다 알려드릴 수 있을 것 같습니다. 정말 ES2015의 1/10도 안 되는 분량입니다. 겨우 제곱 연산자includes 메소드 두 개뿐입니다. 이외에는 사소한 패치라서 크게 신경쓰실 필요가 없습니다.

제곱 연산자

예전에는 제곱을 표현하려면 다음과 같이 했습니다. Math 객체를 사용했죠.

Math.pow(5, 3); // 125

이제는 제곱 연산자를 따로 사용할 수 있습니다.

5 ** 3; // 125

제곱에 대한 복합대입연산자도 추가되었습니다.

var i = 5;
i **= 3; // 125

배열.includes(찾을 요소, 시작 순서)

배열에 해당 요소가 있는 지 확인합니다.

[1, 2, 3].includes(1); // true
[1, 2, 3].includes(1, 1); // false

두 번째 인자는 찾기 시작하는 순서를 뜻합니다. 위의 예에서는 1이기 때문에 두 번째 요소부터 찾습니다. 배열은 0부터 시작하니까 1은 두 번째 요소입니다. 그런데 모양이 상당히 indexOf 메소드와 비슷합니다. 그냥 기존처럼 [1, 2, 3].indexOf(1) > -1 을 해도 같은 결과가 나오는데 굳이 왜 추가되었을까요?

[NaN].includes(NaN); // true
[NaN].indexOf(NaN) > -1; // false

NaN에 대한 처리가 다르다는 것 같습니다. indexOf는 NaN을 못 찾지만, includes는 찾을 수 있습니다.

위의 두 개가 끝입니다. 좀 당황스럽죠? 다음 강좌는 ES2017이 확정나면 진행하겠습니다! 들리는 바에 의하면 중대한 변화인 asyncawait이 도입되었다고 하네요. 기대가 됩니다.

투표로 게시글에 관해 피드백을 해주시면 게시글 수정 시 반영됩니다. 오류가 있다면 어떤 부분에 오류가 있는지도 알려주세요! 잘못된 정보가 퍼져나가지 않도록 도와주세요.
Copyright 2016- . 무단 전재 및 재배포 금지. 출처 표기 시 인용 가능.

댓글

2개의 댓글이 있습니다.
2년 전
안녕하세요. 혹시 지금 이런 기술들이 어떤브라우저 까지 적용되는지 확인하려면 어디서 확인하나요..? 그리고 이런정보같은거를 공지해놓는 사이트를 알 수 있을까요..??
2년 전
kangax.github.io caniuse.com 참조하세요
4년 전
indexOf 와 includes 를 사용할 때 서로 같은결과를 도출할 수 있지만, 좀 더 의미가 부여된 함수를 사용함으로써, 자연어에 가깝게 만드려 하는 것을 엿볼 수 있는 점이 아닐까요?
4년 전
네 그런 것 같아요~ 좀 더 함수형 프로그래밍 언어에 가깝게 만드려는 것도 같네요.