ES7에서 도입된 좌항의 피연산자를 밑으로, 우항의 피연산자를 지수로 거듭 제곱하여 숫자 값을 반환한다.
<script>
2 ** 2; // 4
3 ** 2; // 9
4 ** 2; // 16
</script>
지수 연산자가 도입되기 전에는 Math.pow 메서드를 사용했다.
<script>
Math.pow(2, 2); // 4
Math.pow(3, 2); // 9
Math.pow(4, 2); // 16
</script>
음수를 거듭제곱의 밑으로 사용하여 계산하려면 다음과 같이 괄호로 묶어야 한다.
<script>
-5 ** 2;
// SyntaxError: Unary operator used immediately before exponentiation expression.
// Parenthesis must be user to disambiguate operator precedence
(-5) ** 2; // 25
</script>
지수 연산자는 다른 산술 연산자와 마찬가지로 할당 연산자와 함께 사용할 수 있다.
<script>
var num = 2;
num **= 2; // 4
</script>
지수 연산자는 이항 연산자 중 우선순위가 가장 높다.
<script>
2 * 5 ** 2; // 50
</script>