Numeric Separators


숫자를 입력할 때 언더스코어 _를 이용해 숫자를 구분해서 가독성을 높일 수 있다. KRW 화폐처럼 자리수가 많은 숫자를 작성할 때 유용

const cost = 100_000_000
console.log(cost) // 100000000

replaceAll


replaceAll(substr, newSubstr) replaceAll(substr, replacerFunction)

문자열에서 원하는 부분을 "모두" 지정한 문자로 변경할 수 있다. 정규식도 사용 가능.

const sayHello = "Hello, John";
sayHello.replaceAll("John", "Smith"); // Hello, Smith
sayHello.replaceAll("John", () => "Smith") // Hello, Smith

Exponentiation assignment (지수할당)


ES2016에 Math.pow()와 동일한 작업을 수행하는 ** 거듭제곱 연산자가 추가됐다.

2 ** 3 // 8
Math.pow(2, 3) // 8

거듭제곱 하려는 값이 여러개라면 가장 오른쪽부터 계산하는 특징이 있다.

<aside> 💡 거듭제곱을 제외한 모든 산술 연산자는 좌(左) 결합성을 가진다. 거듭제곱, 할당 연산자, 삼항 연산자는 우(右) 결합성을 가진다. 두 연산자의 우선순위가 다르면 결합성과 상관없이 우선순위가 높은 연산자가 먼저 실행된다. 표현식의 평가 역시 결합성과 무관하게 항상 왼쪽에서 오른쪽으로 진행된다.

</aside>

2 ** 3 ** 2 // 512
// 2 ** (3 ** 2)와 같음