728x90
JavaScript에서 거듭제곱을 구하는 방법은 크게 3가지가 있습니다.
- n*n
- JavaScript 내장함수인 Math.pow()
- ES6 문법의 (**)
1. n * n
일반적으로 가장 기본적인 구문입니다. 주어진 숫자를 그냥 곱해서 제곱근을 도출합니다.
console.log( 4 * 4); // 결과 : 16
console.log( 10 * 10); // 결과 : 100
n의 2승은 간결하고 직관적으로 사용할 수 있지만. 지수가 높아질 경우 n개 만큼 계속해서 코드가 늘어나 보기 안좋아 질 것 이기 때문에 n*n보다 다른 제곱근을 구하는 방법을 사용하는 것이 좋습니다.
2. Math.pow()
Math.pow(base,exponent)
- base : 밑 값
- expoent : 지수 값
console.log(Math.pow(2, 2)); // 결과 : 4
console.log(Math.pow(2,10)); // 결과 : 1024
console.log(Math.pow(27, 1/3)); // 결과 : 3
console.log(Math.pow(25, 0.5)); // 결과 : 5
❗ 만약 밑(base) 값이 음수이고 지수(exponent)가 정수가 아닌 경우 결과는 NaN입니다.
// 분수 지수
Math.pow(4, 0.5); // 2 (4의 제곱근)
Math.pow(8, 1 / 3); // 2 (8의 세제곱근)
Math.pow(2, 0.5); // 1.4142135623730951 (2의 제곱근)
Math.pow(2, 1 / 3); // 1.2599210498948732 (2의 세제곱근)
// 양의 지수
Math.pow(7, -2); // 0.02040816326530612 (1/49)
Math.pow(8, -1 / 3); // 0.5
// 양의 밑
Math.pow(-7, 2); // 49 (제곱의 결과값은 양수입니다.)
Math.pow(-7, 3); // -343 (세제곱은 음수가 될 수 있습니다.)
// 밑이 음수이며 지수가 정수가 아닌경우라면 NaN을 반환합니다.
Math.pow(-7, 1 / 3); // NaN
Math.pow(-7, 0.5); // NaN (음수는 실제 제곱근을 가지지 않습니다.)
3. 거듭제곱 연산자(**)
거듭제곱 연산자(**)는 왼쪽 피연산자를 밑, 오른쪽 피연산자를 지수로 한 값을 구합니다.
console.log(3 ** 4); // 결과 : 81
console.log(10 ** -2); // 결과 : 1/100 -> 0.01
console.log(2 ** (3 ** 2)); // 결과 : 512
console.log((2 ** 3) ** 2); // 결과 : 64
거듭제곱 할당 연산자(**=)
거듭제곱 연산자(**)는 거듭제곱 결과를 반환하므로 기존 변수의 값이 변경되지 않지만 거듭제곱 할당 연산자인 **=는 거듭제곱 결과를 다시 변수에 할당합니다.
/* 거듭제곱 연산자(**) */
let num = 10;
num ** 2;
console.log(num); // 결과 : 10
/* 거듭제곱 할당 연산자(**) */
let num = 10;
num ** 2;
console.log(num); // 결과 : 100
'Language > JavaScript' 카테고리의 다른 글
[JavaScript] nullish 병합 연산자 '??' (0) | 2024.01.15 |
---|---|
[JavaScript] find(), findIndex() 함수 알아보기 (0) | 2024.01.14 |
[JavaScript] 반복문(loop) 정리 for / for in / for of / foreach (1) | 2024.01.13 |
[JavaScript] JavaScript에서 true &false로 간주되는 것 (boolean) (1) | 2024.01.12 |
[JavaScript] 전개 연산자(Spread Operator) [...] 와 Rest Parameter (1) | 2024.01.11 |