diff options
Diffstat (limited to 'files/ko/web/javascript/reference/operators/exponentiation/index.html')
-rw-r--r-- | files/ko/web/javascript/reference/operators/exponentiation/index.html | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/files/ko/web/javascript/reference/operators/exponentiation/index.html b/files/ko/web/javascript/reference/operators/exponentiation/index.html new file mode 100644 index 0000000000..aaa729c10b --- /dev/null +++ b/files/ko/web/javascript/reference/operators/exponentiation/index.html @@ -0,0 +1,110 @@ +--- +title: 거듭제곱 (**) +slug: Web/JavaScript/Reference/Operators/Exponentiation +tags: + - JavaScript + - Language feature + - Operator + - Reference +browser-compat: javascript.operators.exponentiation +translation_of: Web/JavaScript/Reference/Operators/Exponentiation +--- + +<div>{{jsSidebar("Operators")}}</div> + +<p> + 거듭제곱 연산자(<code>**</code>)는 왼쪽 피연산자를 밑, 오른쪽 피연산자를 지수로 한 값을 구합니다. + {{jsxref("BigInt")}}도 피연산자로 받을 수 있다는 점을 제외하면 {{jsxref("Math.pow()")}}와 같습니다. +</p> + +<div>{{EmbedInteractiveExample("pages/js/expressions-exponentiation.html")}}</div> + +<h2 id="syntax">구문</h2> + +<pre class="brush: js">x ** y</pre> + +<h2 id="description">설명</h2> + +<p> + 거듭제곱 연산자는 우측 결합성을 가집니다. 따라서 <code><var>a</var> ** <var>b</var> ** <var>c</var></code + >는 <code><var>a</var> ** (<var>b</var> ** <var>c</var>)</code>와 같습니다. +</p> + +<p> + PHP, Python 등 거듭제곱 연산자(<code>**</code>)를 포함하는 언어의 대부분은 거듭제곱 연산자가 단항 연산자(단항 + <code>+</code>, <code>-</code> 등)보다 높은 우선순위를 가집니다. 그러나 Bash처럼 단항 연산자가 더 높은 우선순위를 + 가지는 예외의 언어도 있습니다. +</p> + +<p> + 반면 JavaScript에서는 모호한 거듭제곱 표현식을 작성하는 것이 불가능합니다. 단항 + 연산자(<code>+/-/~/!/delete/void/typeof</code>)를 밑 피연산자의 바로 앞에 사용할 수 없으며, 사용하려고 하면 + {{jsxref("SyntaxError")}}가 발생합니다. +</p> + +<pre class="brush: js"> +-2 ** 2; +// Bash에서는 4, 다른 언어에서는 -4 +// 모호한 식이므로 JavaScript에서 유효하지 않음 + +-(2 ** 2); +// JavaScript에서 -4, 저자의 의도가 명확함 +</pre> + +<p> + 참고로 어떤 언어에선 캐럿 기호 <kbd>^</kbd>를 거듭제곱에 사용하지만, JavaScript에서 캐럿은 + <a href="/ko/docs/Web/JavaScript/Reference/Operators/Bitwise_XOR">비트 XOR 연산자</a>에서 + 사용합니다. +</p> + +<h2 id="examples">예제</h2> + +<h3 id="basic_exponentiation">기본 거듭제곱</h3> + +<pre class="brush: js"> +2 ** 3 // 8 +3 ** 2 // 9 +3 ** 2.5 // 15.588457268119896 +10 ** -1 // 0.1 +NaN ** 2 // NaN +</pre> + +<h3 id="associativity">연관성</h3> + +<pre class="brush: js"> +2 ** 3 ** 2 // 512 +2 ** (3 ** 2) // 512 +(2 ** 3) ** 2 // 64 +</pre> + +<h3 id="usage_with_unary_operators">단항 연산자와 사용하기</h3> + +<p>거듭제곱 결과의 부호를 반전하려면,</p> + +<pre class="brush: js">-(2 ** 2) // -4</pre> + +<p>거듭제곱 표현식의 밑에 음수를 제공하려면,</p> + +<pre class="brush: js">(-2) ** 2 // 4</pre> + +<h2 id="specifications">명세</h2> + +{{Specifications}} + +<h2 id="browser_compatibility">브라우저 호환성</h2> + +<p>{{Compat}}</p> + +<h2 id="see_also">같이 보기</h2> + +<ul> + <li><a href="/ko/docs/Web/JavaScript/Reference/Operators/Addition">더하기 연산자</a></li> + <li><a href="/ko/docs/Web/JavaScript/Reference/Operators/Subtraction">빼기 연산자</a></li> + <li><a href="/ko/docs/Web/JavaScript/Reference/Operators/Division">나누기 연산자</a></li> + <li><a href="/ko/docs/Web/JavaScript/Reference/Operators/Multiplication">곱하기 연산자</a></li> + <li><a href="/ko/docs/Web/JavaScript/Reference/Operators/Remainder">나머지 연산자</a></li> + <li><a href="/ko/docs/Web/JavaScript/Reference/Operators/Increment">증가 연산자</a></li> + <li><a href="/ko/docs/Web/JavaScript/Reference/Operators/Decrement">감소 연산자</a></li> + <li><a href="/ko/docs/Web/JavaScript/Reference/Operators/Unary_negation">단항 부정 연산자</a></li> + <li><a href="/ko/docs/Web/JavaScript/Reference/Operators/Unary_plus">단항 플러스 연산자</a></li> +</ul> |