지수 연산자(Exponentiation Operator)를 사용하면 어떤 수를 다른 수의 거듭제곱으로 손쉽게 계산할 수 있습니다. 이 연산자는 ** 기호로 표기됩니다. 사실 JavaScript에는 이미 Math.pow() 메서드가 존재하여 거듭제곱 계산이 가능하지만, 지수 연산자(**)는 JavaScript뿐만 아니라 Python, Ruby 등 다른 프로그래밍 언어에서도 공통으로 사용되는 표준 문법이라는 점에서 큰 장점이 있습니다.
지수 연산자의 주의사항(단점)
지수 연산자의 유일한 단점은 음수를 밑(base)으로 사용할 때 반드시 괄호로 감싸야 한다는 것입니다. 괄호를 생략하면 SyntaxError(문법 오류)가 발생합니다.
예제 1
<html>
<body>
<script>
var res1 = Math.pow(3,2)
var res2 = (3) ** 2
document.write(res1);
document.write("</br>");
document.write(res2);
</script>
</body>
</html>출력 결과
9 9
예제 2
다음 예제에서는 음수를 밑으로 사용했습니다. Math.pow() 메서드는 괄호 없이도 정상적으로 동작하지만, 지수 연산자를 사용할 때는 음수 값을 반드시 괄호로 감싸야 합니다. 그렇지 않으면 오류가 발생합니다.
<html>
<body>
<script>
var res1 = Math.pow(-3,2)
var res2 = (-3) ** 2 // 괄호를 생략하면 오류가 발생합니다.
document.write(res1);
document.write("</br>");
document.write(res2);
</script>
</body>
</html>출력 결과
9 9
정리
지수 연산자(**)는 Math.pow()와 동일한 결과를 반환하며, 코드가 더 간결하고 직관적이라는 장점이 있습니다. 다만 음수를 밑으로 사용할 경우 (-3) ** 2처럼 반드시 괄호로 묶어야 한다는 점만 기억하면 됩니다.