diff options
| author | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2021-09-25 23:28:45 +0900 |
|---|---|---|
| committer | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2021-10-08 02:02:05 +0900 |
| commit | 414856a4d390db8b5873c6585f78c05a18305756 (patch) | |
| tree | 51c98912b7d074c0ed87b177c39cb44189994ce6 /files/ja/web/javascript/reference/operators/exponentiation | |
| parent | 722252a0dd72f67d8b704e9e869ea9b0cbffde65 (diff) | |
| download | translated-content-414856a4d390db8b5873c6585f78c05a18305756.tar.gz translated-content-414856a4d390db8b5873c6585f78c05a18305756.tar.bz2 translated-content-414856a4d390db8b5873c6585f78c05a18305756.zip | |
JavaScript の算術演算子の文書を更新
- 2021/09/10 時点の英語版に同期
Diffstat (limited to 'files/ja/web/javascript/reference/operators/exponentiation')
| -rw-r--r-- | files/ja/web/javascript/reference/operators/exponentiation/index.md | 113 |
1 files changed, 53 insertions, 60 deletions
diff --git a/files/ja/web/javascript/reference/operators/exponentiation/index.md b/files/ja/web/javascript/reference/operators/exponentiation/index.md index 40531f5a6c..938125b0fa 100644 --- a/files/ja/web/javascript/reference/operators/exponentiation/index.md +++ b/files/ja/web/javascript/reference/operators/exponentiation/index.md @@ -3,101 +3,94 @@ 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> +{{jsSidebar("Operators")}} -<p>べき乗演算子 (<code>**</code>) は、1番目のオペランドを2番目のオペランドの累乗まで上げた結果を返します。これは <code>Math.pow</code> と同等ですが、オペランドとして <a href="/ja/docs/Web/JavaScript/Data_structures#BigInt_%E5%9E%8B">BigInt</a> も受け入れます。</p> +べき乗演算子 (`**`) は、1 つ目のオペランドを2 つ目オペランドの累乗にした結果を返します。これは `Math.pow` と同等ですが、オペランドとして BigInt も受け入れます。 -<div>{{EmbedInteractiveExample("pages/js/expressions-exponentiation.html")}}</div> +{{EmbedInteractiveExample("pages/js/expressions-exponentiation.html")}} +## 構文 +```js +x ** y +``` -<h2 id="構文">構文</h2> +## 解説 -<pre class="syntaxbox notranslate"><strong>Operator:</strong> <var>var1</var> ** <var>var2</var> -</pre> +べき乗演算子は右結合です。 `a ** b ** c` は `a ** (b ** c)` と等しくなります。 -<h2 id="説明">説明</h2> +PHP や Python など、べき乗演算子 (`**`) を持つほとんどの言語では、べき乗演算子は単項演算子 (単項 `+` や単項 `-` など) よりも優先順位が高いと定義されていますが、いくつかの例外があります。例えば、Bash では `**` 演算子は単項演算子よりも優先順位が低いと定義されています。 -<p>べき乗演算子は右結合的です: <code><var>a</var> ** <var>b</var> ** <var>c</var></code> は <code><var>a</var> ** (<var>b</var> ** <var>c</var>)</code> と等しくなります。</p> +JavaScript では、あいまいなべき乗式を記述することはできません。 つまり、基数の直前に単項演算子 (`+/-/~/!/delete/void/typeof`) を置くことはできません。 これを行うと、SyntaxError が発生します。 -<p>PHP や Python など、べき乗演算子 (<code>**</code>) を持つほとんどの言語では、べき乗演算子は単項演算子 (単項演算子 <code>+</code> や単項演算子 <code>-</code> など) よりも優先順位が高いと定義されていますが、いくつかの例外があります。例えば、Bash では <code>**</code> 演算子は単項演算子よりも優先順位が低いと定義されています。</p> - -<p>JavaScriptでは、あいまいなべき乗式を記述することはできません。 つまり、基数の直前に単項演算子 (<code>+/-/~/!/delete/void/typeof</code>) を置くことはできません。 これを行うと、SyntaxError が発生します。</p> - -<pre class="brush: js notranslate">-2 ** 2; +```js +-2 ** 2; // Bashでは 4 他の言語では -4 -// JavaScriptでは意図があいまいなため無効 +// JavaScript では演算があいまいなため無効 -(2 ** 2); -// JavaScriptでは意図が明白なため -4 -</pre> +// JavaScript では意図が明白なため -4 +``` -<p>注意: 一部のプログラミング言語ではべき乗計算にキャレット記号 <kbd>^</kbd> を使用していますが、JavaScript では<a href="/ja/docs/Web/JavaScript/Reference/Operators/Bitwise_XOR">ビット排他的論理和</a>にこの記号を使用しています。</p> +注意: 一部のプログラミング言語ではべき乗計算にキャレット記号 <kbd>^</kbd> を使用していますが、JavaScript では[ビット排他的論理和](/ja/docs/Web/JavaScript/Reference/Operators/Bitwise_XOR)にこの記号を使用しています。 -<h2 id="例">例</h2> +## 例 -<h3 id="基本的なべき乗">基本的なべき乗</h3> +### 基本的なべき乗 -<pre class="brush: js notranslate">2 ** 3 // 8 +```js +2 ** 3 // 8 3 ** 2 // 9 3 ** 2.5 // 15.588457268119896 10 ** -1 // 0.1 NaN ** 2 // NaN -</pre> +``` -<h3 id="結合">結合</h3> +### 結合性 -<pre class="brush: js notranslate">2 ** 3 ** 2 // 512 +```js +2 ** 3 ** 2 // 512 2 ** (3 ** 2) // 512 -(2 ** 3) ** 2 // 64</pre> - -<h3 id="単項演算子との使用">単項演算子との使用</h3> - -<p>べき乗式の結果の符号を反転させる</p> +(2 ** 3) ** 2 // 64 +``` -<pre class="brush: js notranslate">-(2 ** 2) // -4 -</pre> +### 単項演算子との使用 -<p>べき乗式の基底を強制的に負の数にする</p> +べき乗式の結果の符号を反転させる例です。 -<pre class="brush: js notranslate">(-2) ** 2 // 4 -</pre> +```js +-(2 ** 2) // -4 +``` -<h2 id="仕様">仕様</h2> +べき乗式の基底を強制的に負の数にする例です。 -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">仕様書</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-exp-operator', 'Exponentiation operator')}}</td> - </tr> - </tbody> -</table> +```js +(-2) ** 2 // 4 +``` -<h2 id="ブラウザの互換性">ブラウザの互換性</h2> +## 仕様書 +{{Specifications}} +## ブラウザーの互換性 -<p>{{Compat("javascript.operators.exponentiation")}}</p> +{{Compat}} -<h2 id="関連情報">関連情報</h2> +## 関連情報 -<ul> - <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Addition">加算演算子</a></li> - <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Subtraction">減算演算子</a></li> - <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Multiplication">乗算演算子</a></li> - <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Division">除算演算子</a></li> - <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Remainder">剰余演算子</a></li> - <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Increment">インクリメント演算子</a></li> - <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Decrement">デクリメント演算子</a></li> - <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Unary_negation">単項マイナス演算子</a></li> - <li><a href="/ja/docs/Web/JavaScript/Reference/Operators/Unary_plus">単項プラス演算子</a></li> -</ul> +- [加算演算子](/ja/docs/Web/JavaScript/Reference/Operators/Addition) +- [減算演算子](/ja/docs/Web/JavaScript/Reference/Operators/Subtraction) +- [除算演算子](/ja/docs/Web/JavaScript/Reference/Operators/Division) +- [乗算演算子](/ja/docs/Web/JavaScript/Reference/Operators/Multiplication) +- [剰余演算子](/ja/docs/Web/JavaScript/Reference/Operators/Remainder) +- [インクリメント演算子](/ja/docs/Web/JavaScript/Reference/Operators/Increment) +- [デクリメント演算子](/ja/docs/Web/JavaScript/Reference/Operators/Decrement) +- [単項マイナス演算子](/ja/docs/Web/JavaScript/Reference/Operators/Unary_negation) +- [単項プラス演算子](/ja/docs/Web/JavaScript/Reference/Operators/Unary_plus) |
