개발/javascript

연산자09 - 지수 연산자

마루쨩 2023. 9. 19. 23:15

"연산자"

9. 지수 연산자

ES7에서 새롭게 도입된 지수 연산자는 좌항의 피연산자를 밑으로, 우항의 피연산자를 지수로 거듭 제곱하여 숫자 타입의 값을 반환한다.

2 ** 2; // -> 4
2 ** 2.5; // -> 5.565685424949238
2 ** 0; // -> 1
2 ** -2; // -> 0.25

지수 연산자가 도입되기 이전에는 Math.pow메소드를 사용했다.

Math.pow(2, 2); // -> 4
Math.pow(2, 2.5); // -> 5.65685424949238
Math.pow(2, 0); // -> 1
Math.pow(2, -2); // -> 0.25

지수 연산자는 여러 개의 피연산자를 사용할 경우, Math.pow 메소드보다 가독성이 좋다.

2 ** 2 ** 2; // -> 16
Math.pow(Math.pow(2, 2), 2); // -> 16

음수를 거듭제곱의 밑으로 계산하려면 아래와 같이 괄호로 묶어야 한다.

-5 ** 2;
// -> SyntaxError: Unary operator use immediately before exponentiation expressoin. Parenthesis must b used to disam biguate operator precedence
(-5) ** 2; // -> 25

지수 연산자는 다른 산술 연산자와 마찬가지로 할당 연산자와 함께 사용할 수 있다.

var num = 5;
num **= 2; // -> 25

지수 연산자는 모든 이항 연산자보다 우선 순위가 높다.

2 * 5 ** 2; // -> 50