Movatterモバイル変換


[0]ホーム

URL:


  1. 개발자를 위한 웹 기술
  2. JavaScript
  3. JavaScript 참고서
  4. 식 및 연산자
  5. 거듭제곱 (**)

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

거듭제곱 (**)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2017년 3월⁩.

거듭제곱 연산자(**)는 왼쪽 피연산자를 밑, 오른쪽 피연산자를 지수로 한 값을 구합니다.BigInt도 피연산자로 받을 수 있다는 점을 제외하면Math.pow()와 같습니다.

시도해 보기

console.log(3 ** 4);// Expected output: 81console.log(10 ** -2);// Expected output: 0.01console.log(2 ** (3 ** 2));// Expected output: 512console.log((2 ** 3) ** 2);// Expected output: 64

구문

js
x ** y;

설명

거듭제곱 연산자는 우측 결합성을 가집니다. 따라서a ** b ** ca ** (b ** c)와 같습니다.

PHP, Python 등 거듭제곱 연산자(**)를 포함하는 언어의 대부분은 거듭제곱 연산자가 단항 연산자(단항+,- 등)보다 높은 우선순위를 가집니다. 그러나 Bash처럼 단항 연산자가 더 높은 우선순위를가지는 예외의 언어도 있습니다.

반면 JavaScript에서는 모호한 거듭제곱 표현식을 작성하는 것이 불가능합니다. 단항연산자(+/-/~/!/delete/void/typeof)를 밑 피연산자의 바로 앞에 사용할 수 없으며, 사용하려고 하면SyntaxError가 발생합니다.

js
-2 ** 2;// Bash에서는 4, 다른 언어에서는 -4// 모호한 식이므로 JavaScript에서 유효하지 않음-(2 ** 2);// JavaScript에서 -4, 저자의 의도가 명확함

참고로 어떤 언어에선 캐럿 기호^를 거듭제곱에 사용하지만, JavaScript에서 캐럿은비트 XOR 연산자에서사용합니다.

예제

기본 거듭제곱

js
2 ** 3; // 83 ** 2; // 93 ** 2.5; // 15.58845726811989610 ** -1; // 0.1NaN ** 2; // NaN

연관성

js
2 ** 3 ** 2; // 5122 ** (3 ** 2); // 512(2 ** 3) ** 2; // 64

단항 연산자와 사용하기

거듭제곱 결과의 부호를 반전하려면,

js
-(2 ** 2); // -4

거듭제곱 표현식의 밑에 음수를 제공하려면,

js
(-2) ** 2; // 4

명세

Specification
ECMAScript® 2026 Language Specification
# sec-exp-operator

브라우저 호환성

같이 보기

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp