거듭제곱을 한다면 Math.pow()보다 Exponentiation Operator가 간편(ES2016 신기능)

2016/06/17, JavaScript 사양 "ECMAScript"의 최신 버전 ECMAScript 2016 (※)이 릴리스되었습니다. ES2016에서 추가된 기능은 두 가지입니다.
  • Exponentiation(**) Operator
  • Array.prototype.includes()メソッド

  • 이 항목에서는 Exponentiation(**) Operator에 대해 설명합니다. Array.prototype.includes() 메소드에 대해서는 이 기사에서 해설하고 있습니다.
    배열내의 요소의 존재 확인에는 Array.includes() 메소드가 편리

    ※ 언어 사양서: 「 ECMAScript® 2016 Language Specification

    Exponentiation Operator는 거듭제곱 계산을 위한 새로운 운영자



    지금까지 JavaScript로 해야 하는 승계산(2의 3승이나, 4의 8승등의 계산)은, Math.pow() 를 사용해 실시하고 있었습니다.
    // 2の3乗算
    Math.pow(2, 3);
    // 4の8乗算
    Math.pow(4, 8);
    



    ▲ Google 크롬에서의 계산 결과

    Exponentiation Operator는 ** 덧붙여서 「Exponentiation」이 「멱승」이라는 의미입니다.

    이제 방금 전 계산을 다시 작성해 보겠습니다.
    // 2の3乗算
    2 ** 3;
    // 4の8乗算
    4 ** 8;
    



    ▲ Google 크롬에서의 계산 결과
    Math.pow() 를 사용하는 것보다 간단한 설명으로 가능한 것을 알 수 있습니다.

    또한 다음과 같은 설명도 가능합니다.
    // 変数aに2を代入する。
    let a = 2;
    // aの3乗を得る。
    a **= 3;
    



    ▲ Google 크롬에서의 계산 결과

    편리하네요.

    대응 브라우저는?



    2018/02/06 시점에서는 IE 11을 제외한 모든 주요 브라우저에서 대응하고 있습니다.

    참고 : ECMAScript Next compatibility table

    IE 11에서도 대응할 필요가 있는 경우는 TypeScript나 Babel을 경유하는 것을 추천합니다.

    좋은 웹페이지 즐겨찾기