From 414856a4d390db8b5873c6585f78c05a18305756 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sat, 25 Sep 2021 23:28:45 +0900 Subject: JavaScript の算術演算子の文書を更新 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 2021/09/10 時点の英語版に同期 --- .../reference/operators/addition/index.md | 4 +- .../reference/operators/division/index.md | 82 +++++++-------- .../reference/operators/exponentiation/index.md | 113 ++++++++++----------- .../reference/operators/multiplication/index.md | 86 +++++++--------- .../reference/operators/remainder/index.md | 108 ++++++++++---------- .../reference/operators/subtraction/index.md | 79 +++++++------- 6 files changed, 215 insertions(+), 257 deletions(-) (limited to 'files') diff --git a/files/ja/web/javascript/reference/operators/addition/index.md b/files/ja/web/javascript/reference/operators/addition/index.md index fed9a4fa48..0bb3edc900 100644 --- a/files/ja/web/javascript/reference/operators/addition/index.md +++ b/files/ja/web/javascript/reference/operators/addition/index.md @@ -3,8 +3,8 @@ title: 加算 (+) slug: Web/JavaScript/Reference/Operators/Addition tags: - JavaScript - - Language feature - - Operator + - 言語機能 + - 演算子 - Reference browser-compat: javascript.operators.addition translation_of: Web/JavaScript/Reference/Operators/Addition diff --git a/files/ja/web/javascript/reference/operators/division/index.md b/files/ja/web/javascript/reference/operators/division/index.md index 3db6a5715d..d244af46b1 100644 --- a/files/ja/web/javascript/reference/operators/division/index.md +++ b/files/ja/web/javascript/reference/operators/division/index.md @@ -3,74 +3,62 @@ title: 除算 (/) slug: Web/JavaScript/Reference/Operators/Division tags: - JavaScript - - Language feature - - Operator + - 言語機能 + - 演算子 - Reference +browser-compat: javascript.operators.division translation_of: Web/JavaScript/Reference/Operators/Division --- -
{{jsSidebar("Operators")}}
+{{jsSidebar("Operators")}} -

除算演算子 (/) は、左のオペランドを被除数とし右のオペランドを除数としたオペランド同士の商を生成します。

+除算演算子 (`/`) は、左のオペランドを被除数とし、右のオペランドを除数としたオペランド同士の除算結果を生成します。 -
{{EmbedInteractiveExample("pages/js/expressions-division.html")}}
+{{EmbedInteractiveExample("pages/js/expressions-division.html")}} -
+## 構文 +```js +x / y +``` +## 例 -

構文

+### 基本的な除算 -
Operator: x / y
-
- -

- -

基本の除算

- -
1 / 2              // 0.5
+```js
+1 / 2              // 0.5
 
 Math.floor(3 / 2) // 1
 
 1.0 / 2.0         // 0.5
-
- -

ゼロ除算

- -
2.0 / 0     // Infinity
+```
 
-2.0 / 0.0   // Infinity, because 0.0 === 0
+### ゼロ除算
 
-2.0 / -0.0  // -Infinity
+```js +2.0 / 0 // Infinity -

仕様

+2.0 / 0.0 // Infinity。 0.0 === 0 であるため - - - - - - - - - -
仕様
{{SpecName('ESDraft', '#sec-multiplicative-operators', 'Division operator')}}
+2.0 / -0.0 // -Infinity +``` -

ブラウザーの互換性

+## 仕様書 +{{Specifications}} +## ブラウザーの互換性 -

{{Compat("javascript.operators.division")}}

+{{Compat}} -

関連項目

+## 関連情報 - +- [加算演算子](/ja/docs/Web/JavaScript/Reference/Operators/Addition) +- [減算演算子](/ja/docs/Web/JavaScript/Reference/Operators/Subtraction) +- [乗算演算子](/ja/docs/Web/JavaScript/Reference/Operators/Multiplication) +- [剰余演算子](/ja/docs/Web/JavaScript/Reference/Operators/Remainder) +- [べき乗演算子](/ja/docs/Web/JavaScript/Reference/Operators/Exponentiation) +- [インクリメント演算子](/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) 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 --- -
{{jsSidebar("Operators")}}
+{{jsSidebar("Operators")}} -

べき乗演算子 (**) は、1番目のオペランドを2番目のオペランドの累乗まで上げた結果を返します。これは Math.pow と同等ですが、オペランドとして BigInt も受け入れます。

+べき乗演算子 (`**`) は、1 つ目のオペランドを2 つ目オペランドの累乗にした結果を返します。これは `Math.pow` と同等ですが、オペランドとして BigInt も受け入れます。 -
{{EmbedInteractiveExample("pages/js/expressions-exponentiation.html")}}
+{{EmbedInteractiveExample("pages/js/expressions-exponentiation.html")}} +## 構文 +```js +x ** y +``` -

構文

+## 解説 -
Operator: var1 ** var2
-
+べき乗演算子は右結合です。 `a ** b ** c` は `a ** (b ** c)` と等しくなります。 -

説明

+PHP や Python など、べき乗演算子 (`**`) を持つほとんどの言語では、べき乗演算子は単項演算子 (単項 `+` や単項 `-` など) よりも優先順位が高いと定義されていますが、いくつかの例外があります。例えば、Bash では `**` 演算子は単項演算子よりも優先順位が低いと定義されています。 -

べき乗演算子は右結合的です: a ** b ** ca ** (b ** c) と等しくなります。

+JavaScript では、あいまいなべき乗式を記述することはできません。 つまり、基数の直前に単項演算子 (`+/-/~/!/delete/void/typeof`) を置くことはできません。 これを行うと、SyntaxError が発生します。 -

PHP や Python など、べき乗演算子 (**) を持つほとんどの言語では、べき乗演算子は単項演算子 (単項演算子 + や単項演算子 - など) よりも優先順位が高いと定義されていますが、いくつかの例外があります。例えば、Bash では ** 演算子は単項演算子よりも優先順位が低いと定義されています。

- -

JavaScriptでは、あいまいなべき乗式を記述することはできません。 つまり、基数の直前に単項演算子 (+/-/~/!/delete/void/typeof) を置くことはできません。 これを行うと、SyntaxError が発生します。

- -
-2 ** 2;
+```js
+-2 ** 2;
 // Bashでは 4 他の言語では -4
-// JavaScriptでは意図があいまいなため無効
+// JavaScript では演算があいまいなため無効
 
 
 -(2 ** 2);
-// JavaScriptでは意図が明白なため -4
-
+// JavaScript では意図が明白なため -4 +``` -

注意: 一部のプログラミング言語ではべき乗計算にキャレット記号 ^ を使用していますが、JavaScript ではビット排他的論理和にこの記号を使用しています。

+注意: 一部のプログラミング言語ではべき乗計算にキャレット記号 ^ を使用していますが、JavaScript では[ビット排他的論理和](/ja/docs/Web/JavaScript/Reference/Operators/Bitwise_XOR)にこの記号を使用しています。 -

+## 例 -

基本的なべき乗

+### 基本的なべき乗 -
2 ** 3   // 8
+```js
+2 ** 3   // 8
 3 ** 2   // 9
 3 ** 2.5 // 15.588457268119896
 10 ** -1 // 0.1
 NaN ** 2 // NaN
-
+``` -

結合

+### 結合性 -
2 ** 3 ** 2   // 512
+```js
+2 ** 3 ** 2   // 512
 2 ** (3 ** 2) // 512
-(2 ** 3) ** 2 // 64
- -

単項演算子との使用

- -

べき乗式の結果の符号を反転させる

+(2 ** 3) ** 2 // 64 +``` -
-(2 ** 2) // -4
-
+### 単項演算子との使用 -

べき乗式の基底を強制的に負の数にする

+べき乗式の結果の符号を反転させる例です。 -
(-2) ** 2 // 4
-
+```js +-(2 ** 2) // -4 +``` -

仕様

+べき乗式の基底を強制的に負の数にする例です。 - - - - - - - - - -
仕様書
{{SpecName('ESDraft', '#sec-exp-operator', 'Exponentiation operator')}}
+```js +(-2) ** 2 // 4 +``` -

ブラウザの互換性

+## 仕様書 +{{Specifications}} +## ブラウザーの互換性 -

{{Compat("javascript.operators.exponentiation")}}

+{{Compat}} -

関連情報

+## 関連情報 - +- [加算演算子](/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) diff --git a/files/ja/web/javascript/reference/operators/multiplication/index.md b/files/ja/web/javascript/reference/operators/multiplication/index.md index 4aed5ac7f6..2dd23d0093 100644 --- a/files/ja/web/javascript/reference/operators/multiplication/index.md +++ b/files/ja/web/javascript/reference/operators/multiplication/index.md @@ -3,72 +3,62 @@ title: 乗算 (*) slug: Web/JavaScript/Reference/Operators/Multiplication tags: - JavaScript - - Language feature - - Operator + - 言語機能 + - 演算子 - Reference +browser-compat: javascript.operators.multiplication translation_of: Web/JavaScript/Reference/Operators/Multiplication --- -
{{jsSidebar("Operators")}}
+{{jsSidebar("Operators")}} -

乗算演算子 (*) はオペランドの積を生成します。

+乗算演算子 (`*`) はオペランドの積を生成します。 -
{{EmbedInteractiveExample("pages/js/expressions-multiplication.html")}}
+{{EmbedInteractiveExample("pages/js/expressions-multiplication.html")}} -
+## 構文 +```js +x * y +``` +## 例 -

構文

+### 数値を用いた乗算 -
Operator: x * y
-
- -

- -

数値を使用した乗算

- -
 2 * 2      // 4
+```js
+ 2 * 2      // 4
 -2 * 2     // -4
-
- -

無限大との乗算

- -
Infinity * 0         // NaN
-Infinity * Infinity  // Infinity
+``` -

非数との乗算

+### 無限大との乗算 -
'foo' * 2 // NaN
+```js +Infinity * 0 // NaN +Infinity * Infinity // Infinity +``` -

仕様

+### 非数との乗算 - - - - - - - - - -
仕様
{{SpecName('ESDraft', '#sec-multiplicative-operators', 'Multiplication operator')}}
+```js +'foo' * 2 // NaN +``` -

ブラウザーの互換性

+## 仕様書 +{{Specifications}} +## ブラウザーの互換性 -

{{Compat("javascript.operators.multiplication")}}

+{{Compat}} -

関連項目

+## 関連情報 - +- [加算演算子](/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/Remainder) +- [べき乗演算子](/ja/docs/Web/JavaScript/Reference/Operators/Exponentiation) +- [インクリメント演算子](/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) diff --git a/files/ja/web/javascript/reference/operators/remainder/index.md b/files/ja/web/javascript/reference/operators/remainder/index.md index 0d757f4d3c..9ca1a6046a 100644 --- a/files/ja/web/javascript/reference/operators/remainder/index.md +++ b/files/ja/web/javascript/reference/operators/remainder/index.md @@ -2,81 +2,79 @@ title: 剰余 (%) slug: Web/JavaScript/Reference/Operators/Remainder tags: -- JavaScript -- Language feature -- Operator -- Reference + - JavaScript + - 言語機能 + - 演算子 + - Reference +browser-compat: javascript.operators.remainder translation_of: Web/JavaScript/Reference/Operators/Remainder --- -
{{jsSidebar("Operators")}}
+{{jsSidebar("Operators")}} -

剰余演算子 (%) は、 1 つ目のオペランドが 2 つ目のオペランドで除算されたときに残った剰余を返します。これは常に被除数の符号を取ります。

+剰余演算子 (`%`) は、1 つ目のオペランドが 2 つ目のオペランドで除算されたときに残った剰余を返します。これは常に被除数の符号を取ります。 -
{{EmbedInteractiveExample("pages/js/expressions-remainder.html")}}
+{{EmbedInteractiveExample("pages/js/expressions-remainder.html")}} -

なお、多くの言語では ‘%’ はリマインダー演算子ですが、言語によっては (例えば Python や Perl では) モジュロ演算子になります。正の数同士の場合は、この 2 つの値は等価ですが、被除数と除数が異なる符号の場合は結果が異なります。 JavaScript でモジュロを得るには、 a % n の代わりに ((a % n ) + n ) % n を使用してください。

+なお、多くの言語では ‘%’ はリマインダー演算子ですが、言語によっては (例えば [Python や Perl](https://en.wikipedia.org/wiki/Modulo_operation#In_programming_languages) では) モジュロ演算子になります。正の数同士の場合は、この 2 つの値は等価ですが、被除数と除数が異なる符号の場合は結果が異なります。 JavaScript でモジュロを得るには、 `a % n` の代わりに `((a % n ) + n ) % n` を使用してください。 -

構文

+## 構文 -
演算子: var1 % var2
-
+```js +x % y +``` -

+## 例 -

正の値の剰余

+### 正の値の剰余 -
 12 % 5  //  2
+```js
+ 12 % 5  //  2
  1 % -2 //  1
  1 % 2  //  1
  2 % 3  //  2
 5.5 % 2 // 1.5
-
+``` -

負の値の剰余

+### 負の値の剰余 -
-12 % 5 // -2
+```js
+-12 % 5 // -2
 -1 % 2  // -1
--4 % 2  // -0
+-4 % 2 // -0 +``` -

NaN の剰余

+### NaN の剰余 -
NaN % 2 // NaN
+```js +NaN % 2 // NaN +``` -

無限大の剰余

+### 無限大の剰余 -
Infinity % 2 // NaN
+```js
+Infinity % 2 // NaN
 Infinity % 0 // NaN
 Infinity % Infinity // NaN
-
- -

仕様書

- - - - - - - - - - -
仕様書
{{SpecName('ESDraft', '#sec-multiplicative-operators', 'Remainder operator')}} -
- -

ブラウザーの互換性

- -

{{Compat("javascript.operators.remainder")}}

- -

関連項目

- - +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- [加算演算子](/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/Exponentiation) +- [インクリメント演算子](/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) +- [Remainder operator vs. modulo operator](https://2ality.com/2019/08/remainder-vs-modulo.html) +- [Mod and Remainder are not the Same](https://rob.conery.io/2018/08/21/mod-and-remainder-are-not-the-same/) diff --git a/files/ja/web/javascript/reference/operators/subtraction/index.md b/files/ja/web/javascript/reference/operators/subtraction/index.md index 1a02506128..5e074c174c 100644 --- a/files/ja/web/javascript/reference/operators/subtraction/index.md +++ b/files/ja/web/javascript/reference/operators/subtraction/index.md @@ -3,66 +3,55 @@ title: 減算 (-) slug: Web/JavaScript/Reference/Operators/Subtraction tags: - JavaScript - - Language feature - - Operator + - 言語機能 + - 演算子 - Reference +browser-compat: javascript.operators.subtraction translation_of: Web/JavaScript/Reference/Operators/Subtraction --- -
{{jsSidebar("Operators")}}
+{{jsSidebar("Operators")}} -

減算演算子 (-) は2つのオペランドを減算し、それらの差を生成します。

+減算演算子 (`-`) は 2 つのオペランドの間で減算し、それらの差を生成します。 -
{{EmbedInteractiveExample("pages/js/expressions-subtraction.html")}}
+{{EmbedInteractiveExample("pages/js/expressions-subtraction.html")}} -
+## 構文 +```js +x - y +``` +## 例 -

構文

+### 数値の減算 -
Operator: x - y
-
+```js +5 - 3 // 2 +3 - 5 // -2 +``` -

+### 非数の減算 -

数値による減算

+```js +'foo' - 3 // NaN +``` -
5 - 3     // 2
-3 - 5     // -2
+## 仕様書 -

非数による減算

+{{Specifications}} -
'foo' - 3 // NaN
+## ブラウザーの互換性 -

仕様

+{{Compat}} - - - - - - - - - -
仕様
{{SpecName('ESDraft', '#sec-subtraction-operator-minus', 'Subtraction operator')}}
+## 関連情報 -

ブラウザーの互換性

- - - -

{{Compat("javascript.operators.subtraction")}}

- -

関連項目

- - +- [加算演算子](/ja/docs/Web/JavaScript/Reference/Operators/Addition) +- [除算演算子](/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/Exponentiation) +- [インクリメント演算子](/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) -- cgit v1.2.3-54-g00ecf