JavaScript/Tip

[JavaScript]거듭제곱 구하는 방법

DevStory 2022. 10. 9.

거듭제곱 구하는 방법

이번 포스팅은 JavaScript에서 거듭제곱을 구할 수 있는 몇 가지 방법을 소개합니다.


방법 1. Math.pow() 메서드

가장 잘 알려져 있는 방법으로 Math 객체의 pow() 메서드를 사용하여 거듭제곱을 구할 수 있습니다.

 

pow() 메서드의 첫 번째 매개변수는 밑이며, 두 번째 매개변수는 지수입니다.

const result = Math.pow(2, 3);

console.log(result); // 8

두 번째 매개변수인 지수에 실수를 할당할 수 있습니다.

console.log(Math.pow(27, 1/3)); // 3
console.log(Math.pow(4, 0.5));  // 2

만약, 첫 번째 매개변수가 음수이며, 두 번째 매개변수가 실수인 경우 제곱근이 존재하지 않으므로 NaN을 반환합니다.

console.log(Math.pow(-8, 1/3)); // NaN
console.log(Math.pow(-4, 0.5)); // NaN

방법 2. 거듭제곱 연산자(**)

JavaScript ECMAScript 6에 도입된 거듭제곱 연산자인 **를 사용하여 거듭제곱을 구할 수 있습니다.

 

왼쪽 피연산자를 밑, 오른쪽 피연산자를 지수로 설정합니다.

 

예를 들어, 2의 3승은 다음 예제와 같습니다.

console.log(2 ** 3); // 8

Math.pow() 메서드와 마찬가지로 지수에 실수를 할당할 수 있습니다.

console.log(27 ** 1/3); // 3
console.log(4 ** 0.5);  // 2

그리고 첫 번째 매개변수가 음수이며, 두 번째 매개변수가 실수인 경우 제곱근이 존재하지 않으므로 NaN을 반환합니다.

 

참고로 연산자 우선순위에 의해 소괄호 사용 여부, 오른쪽 피연산자에 나눗셈(/) 연산자 사용 여부에 따라 연산 결과가 달라질 수 있습니다.

 

왼쪽 피연산자에 소괄호를 사용하지 않으면, SyntaxError가 발생합니다.

console.log(-4 ** 0.5);
console.log(-4 ** 1/2);

[에러 내용]

왼쪽 피연산자에 소괄호를 사용했지만, 오른쪽 피연산자에 할당된 값에 따라 연산 결과가 달라집니다.

// 오른쪽 피연산자가 실수인지 / 연산자를 사용했는지
console.log((-4) ** 0.5); // NaN
console.log((-4) ** 1/2); // -2

// 오른쪽 피연산자에 소괄호 사용
console.log((-4) ** (0.5)); // NaN
console.log((-4) ** (1/2)); // NaN

방법 3. 거듭제곱 할당 연산자(**=)

거듭제곱 할당 연산자인 **=는 거듭제곱 결과를 다시 변수에 할당합니다.

 

거듭제곱 연산자(**)는 거듭제곱 결과를 반환하므로 기존 변수의 값이 변경되지 않습니다.

var num = 5;
num ** 2;
console.log(num); // 5

하지만, 거듭제곱 할당 연산자(**=)는 거듭제곱 결과를 기존 변수에 할당합니다.

var num = 5;
num **= 2;
console.log(num); // 25
반응형

댓글