diff --git a/files/ja/web/javascript/reference/global_objects/math/ln10/index.md b/files/ja/web/javascript/reference/global_objects/math/ln10/index.md
index a76959ad9aa228..d7744e7ec6e32c 100644
--- a/files/ja/web/javascript/reference/global_objects/math/ln10/index.md
+++ b/files/ja/web/javascript/reference/global_objects/math/ln10/index.md
@@ -1,15 +1,25 @@
---
title: Math.LN10
slug: Web/JavaScript/Reference/Global_Objects/Math/LN10
+l10n:
+ sourceCommit: 761b9047d78876cbd153be811efb1aa77b419877
---
{{JSRef}}
-**`Math.LN10`** プロパティは 10 の自然対数、およそ 2.302 を表します。
+**`Math.LN10`** は静的データプロパティで、 10 の自然対数、およそ 2.302 を表します。
-
+{{EmbedInteractiveExample("pages/js/math-ln10.html", "shorter")}}
-{{EmbedInteractiveExample("pages/js/math-ln10.html","shorter")}}{{js_property_attributes(0, 0, 0)}}
+## 値
+
+
+
+
+
+{{js_property_attributes(0, 0, 0)}}
## 解説
diff --git a/files/ja/web/javascript/reference/global_objects/math/ln2/index.md b/files/ja/web/javascript/reference/global_objects/math/ln2/index.md
index dc2c99853595f5..fcda0d3fbac205 100644
--- a/files/ja/web/javascript/reference/global_objects/math/ln2/index.md
+++ b/files/ja/web/javascript/reference/global_objects/math/ln2/index.md
@@ -1,15 +1,25 @@
---
title: Math.LN2
slug: Web/JavaScript/Reference/Global_Objects/Math/LN2
+l10n:
+ sourceCommit: 761b9047d78876cbd153be811efb1aa77b419877
---
{{JSRef}}
-**`Math.LN2`** プロパティは 2 の自然対数、およそ 0.693 を表します。
+**`Math.LN2`** は静的データプロパティで、 2 の自然対数、およそ 0.693 を表します。
-
+{{EmbedInteractiveExample("pages/js/math-ln2.html", "shorter")}}
-{{EmbedInteractiveExample("pages/js/math-ln2.html")}}{{js_property_attributes(0, 0, 0)}}
+## 値
+
+
+
+
+
+{{js_property_attributes(0, 0, 0)}}
## 解説
diff --git a/files/ja/web/javascript/reference/global_objects/math/log/index.md b/files/ja/web/javascript/reference/global_objects/math/log/index.md
index d67606780337bf..77e8c4d46801a8 100644
--- a/files/ja/web/javascript/reference/global_objects/math/log/index.md
+++ b/files/ja/web/javascript/reference/global_objects/math/log/index.md
@@ -1,52 +1,56 @@
---
title: Math.log()
slug: Web/JavaScript/Reference/Global_Objects/Math/log
+l10n:
+ sourceCommit: 761b9047d78876cbd153be811efb1aa77b419877
---
{{JSRef}}
-**`Math.log()`** 関数は、 ({{jsxref("Math.E", "e")}} を底とした) 数値の自然対数を返します。
+**`Math.log()`** は静的メソッドで、数値の([e](/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/E) を底とした)自然対数を返します。
-
-
-JavaScript の **`Math.log()`** 関数は、数学の _ln(x)_ と同等です。
+
+
+
{{EmbedInteractiveExample("pages/js/math-log.html")}}
## 構文
-```
+```js-nolint
Math.log(x)
```
### 引数
- `x`
- - : 数値です。
+ - : 0 以上の数値です。
### 返値
-({{jsxref("Math.E", "e")}} を底とした) 与えられた数値の自然対数です。数値が負の数であった場合、 {{jsxref("NaN")}} が返されます。
+`x` の([e](/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/E) を底とした)自然対数です。 `x` が ±0 の場合は、 [`-Infinity`](/ja/docs/Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY) を返します。 `x < 0` の場合は、 {{jsxref("NaN")}} が返されます。
## 解説
-`x` の値が 0 であった場合、返値は常に {{jsxref("Number.NEGATIVE_INFINITY", "-Infinity")}} です。
-
-`x` の値が 0 未満であった場合、返値は常に {{jsxref("NaN")}} です。
-
`log()` は `Math` の静的メソッドであるため、生成した `Math` オブジェクトのメソッドとしてではなく、常に `Math.log()` として使用するようにしてください (`Math` はコンストラクターではありません)。
-2 または 10 の自然対数が必要な場合は、定数の {{jsxref("Math.LN2")}} または {{jsxref("Math.LN10")}} を使用してください。 2 や 10 を底とした対数が必要な場合は、 {{jsxref("Math.log2()")}} または {{jsxref("Math.log10()")}} を使用してください。他の数を底とした対数が必要な場合は、下記の例にあるように Math.log(x) / Math.log(otherBase) を使用してください。事前に 1 / Math.log(otherBase) を計算しておいた方がいいかもしれません。
+2 または 10 の自然対数が必要な場合は、定数の {{jsxref("Math.LN2")}} または {{jsxref("Math.LN10")}} を使用してください。 2 や 10 を底とした対数が必要な場合は、 {{jsxref("Math.log2()")}} または {{jsxref("Math.log10()")}} を使用してください。他の数を底とした対数が必要な場合は、下記の例にあるように `Math.log(x) / Math.log(otherBase)` を使用してください。事前に `1 / Math.log(otherBase)` を計算しておいた方がいいかもしれません。 `Math.log(x) * constant` の乗算の方がはるかに高速だからです。
+
+1 にとても近い正の数値は、精度が損なわれ、自然対数が不正確になる可能性がありますのでご注意ください。この場合、 {{jsxref("Math.log1p")}} を使用することをお勧めします。
## 例
### Math.log() の使用
```js
-Math.log(-1); // NaN, out of range
+Math.log(-1); // NaN
+Math.log(-0); // -Infinity
Math.log(0); // -Infinity
Math.log(1); // 0
Math.log(10); // 2.302585092994046
+Math.log(Infinity); // Infinity
```
### 様々な底による Math.log() の使用
diff --git a/files/ja/web/javascript/reference/global_objects/math/log1p/index.md b/files/ja/web/javascript/reference/global_objects/math/log1p/index.md
index 024ba0045d07b2..820d303d84415d 100644
--- a/files/ja/web/javascript/reference/global_objects/math/log1p/index.md
+++ b/files/ja/web/javascript/reference/global_objects/math/log1p/index.md
@@ -1,68 +1,60 @@
---
title: Math.log1p()
slug: Web/JavaScript/Reference/Global_Objects/Math/log1p
+l10n:
+ sourceCommit: 761b9047d78876cbd153be811efb1aa77b419877
---
{{JSRef}}
-**`Math.log1p()`** 関数は、 1 + 数値の ({{jsxref("Math.E", "e")}} を底とする) 自然対数を返します。
+**`Math.log1p()`** は静的メソッドで、 `1 + x` の([e](/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/E) を底とした)自然対数を返します。ここで `x` は引数です。
-
+
+
+
{{EmbedInteractiveExample("pages/js/math-log1p.html")}}
## 構文
-```
+```js-nolint
Math.log1p(x)
```
### 引数
- `x`
- - : 数値です。
+ - : -1 以上の数値です。
### 返値
-1 + 与えられた数値の ({{jsxref("Math.E", "e")}} を底とした) 自然対数です。数値が **-1** よりも小さかった場合は {{jsxref("NaN")}} が返されます。
+`1 + x` の([e](/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/E) を底とした)自然対数です。 `x` が -1 の場合は、 [`-Infinity`](/ja/docs/Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY) を返します。 `x < -1` の場合は、 {{jsxref("NaN")}} が返されます。
## 解説
`x` の値が非常に小さかった場合、 1 を加えると有効精度が減少します。 JS で使用する倍精度浮動小数点型の精度は 15 桁です。 1 + 1e-15 = 1.000000000000001 ですが、 1 + 1e-16 = 1.000000000000000 となり、 15 桁を超えた桁は四捨五入されるため、正確に 1.0 となります。
-log(1 + x) を計算すると、 x が小さければ、 x にとても近い答えになるはずです (これが「自然」対数と呼ばれる所以です)。 Math.log(1 + 1.1111111111e-15) を計算すると、 1.1111111111e-15 に近い答えが得られるはずです。しかし、 1.00000000000000111022 の対数を取ることになります (四捨五入は二進数なので、時に醜い結果になることがあります) ので、答えは 1.11022...e-15 となり、正しい数字は 3 桁だけです。もし、代わりに Math.log1p(1.1111111111e-15) を計算した場合は、もっとずっと正確な答えである 1.1111111110999995e-15 が得られ、 15 桁の正しい数字が得られます (この場合は実際には 16 桁です)。
+
+log(1 + _x_) を計算すると、 _x_ が小さければ、 _x_ にとても近い答えになるはずです。 だからです。 `Math.log(1 + 1.1111111111e-15)` を計算すると、 `1.1111111111e-15` に近い答えが得られるはずです。しかし、 `1.00000000000000111022` の対数を取ることになります (四捨五入は二進数なので、時に醜い結果になることがあります) ので、答えは 1.11022…e-15 となり、正しい数字は 3 桁だけです。もし、代わりに `Math.log1p(1.1111111111e-15)` を計算した場合は、もっとずっと正確な答えである `1.1111111110999995e-15` が得られ、 15 桁の正しい数字が得られます (この場合は実際には 16 桁です)。
+
`x` の値が -1 未満であった場合、返値は常に {{jsxref("NaN")}} です。
`log1p()` は `Math` の静的メソッドであるため、生成した `Math` オブジェクトのメソッドとしてではなく、常に `Math.log1p()` として使用するようにしてください (`Math` はコンストラクターではありません)。
-## ポリフィル
-
-これは次の関数でエミュレートできます。
-
-```js
-Math.log1p =
- Math.log1p ||
- function (x) {
- x = Number(x);
- if (x < -1 || x !== x) return NaN;
- if (x === 0 || x === Infinity) return x;
-
- var nearX = x + 1 - 1;
-
- return nearX === 0 ? x : x * (Math.log(x + 1) / nearX);
- };
-```
-
## 例
### Math.log1p() の使用
```js
-Math.log1p(1); // 0.6931471805599453
-Math.log1p(0); // 0
-Math.log1p(-1); // -Infinity
Math.log1p(-2); // NaN
+Math.log1p(-1); // -Infinity
+Math.log1p(-0); // -0
+Math.log1p(0); // 0
+Math.log1p(1); // 0.6931471805599453
+Math.log1p(Infinity); // Infinity
```
## 仕様書
@@ -75,6 +67,7 @@ Math.log1p(-2); // NaN
## 関連情報
+- [`Math.log1p` のポリフィル (`core-js`)](https://github.com/zloirock/core-js#ecmascript-math)
- {{jsxref("Math.exp()")}}
- {{jsxref("Math.log()")}}
- {{jsxref("Math.expm1()")}}
diff --git a/files/ja/web/javascript/reference/global_objects/math/log2/index.md b/files/ja/web/javascript/reference/global_objects/math/log2/index.md
index 6fbf2d46ced9dc..6a8cd4db627c8f 100644
--- a/files/ja/web/javascript/reference/global_objects/math/log2/index.md
+++ b/files/ja/web/javascript/reference/global_objects/math/log2/index.md
@@ -1,61 +1,56 @@
---
title: Math.log2()
slug: Web/JavaScript/Reference/Global_Objects/Math/log2
+l10n:
+ sourceCommit: 761b9047d78876cbd153be811efb1aa77b419877
---
{{JSRef}}
-**`Math.log2()`** 関数は、数値の 2 を底とした対数を返します。
+**`Math.log2()`** は静的メソッドで、数値の 2 を底とした対数を返します。
-
+
+
+
{{EmbedInteractiveExample("pages/js/math-log2.html")}}
## 構文
-```
+```js-nolint
Math.log2(x)
```
### 引数
- `x`
- - : 数値です。
+ - : 0 以上の数値です。
### 返値
-与えられた数値の 2 を底とした対数です。数値が負の数であった場合、 {{jsxref("NaN")}} が返されます。
+`x` の 2 を底とした対数です。 `x < 0` であった場合、 {{jsxref("NaN")}} が返されます。
## 解説
-`x` の値が 0 未満であった場合、返値は常に {{jsxref("NaN")}} です。
-
`log2()` は `Math` の静的メソッドであるため、生成した `Math` オブジェクトのメソッドとしてではなく、常に `Math.log2()` として使用するようにしてください (`Math` はコンストラクターではありません)。
-この関数は Math.log(x) / Math.log(2) と同等です。 log2(e) には定数 {{jsxref("Math.LOG2E")}} を使用してください (これは 1 / {{jsxref("Math.LN2")}} です。)
-
-## ポリフィル
-
-このポリフィルは `Math.log2` 関数をエミュレートします。なお、これは入力値によっては不正確な値を返すので (1 << 29 など)、ビットマスクで使用するときは {{jsxref("Math.round()")}} で囲んでください。
-
-```js
-if (!Math.log2)
- Math.log2 = function (x) {
- return Math.log(x) * Math.LOG2E;
- };
-```
+この関数は `Math.log(x) / Math.log(2)` と同等です。 `log2(e)` には定数 {{jsxref("Math.LOG2E")}} を使用してください(これは 1 / {{jsxref("Math.LN2")}} です)。
## 例
### Math.log2() の使用
```js
-Math.log2(3); // 1.584962500721156
-Math.log2(2); // 1
-Math.log2(1); // 0
-Math.log2(0); // -Infinity
Math.log2(-2); // NaN
+Math.log2(-0); // -Infinity
+Math.log2(0); // -Infinity
+Math.log2(1); // 0
+Math.log2(2); // 1
+Math.log2(3); // 1.584962500721156
Math.log2(1024); // 10
+Math.log2(Infinity); // Infinity
```
## 仕様書
@@ -68,6 +63,7 @@ Math.log2(1024); // 10
## 関連情報
+- [`Math.log2` のポリフィル (`core-js`)](https://github.com/zloirock/core-js#ecmascript-math)
- {{jsxref("Math.exp()")}}
- {{jsxref("Math.log()")}}
- {{jsxref("Math.log10()")}}
diff --git a/files/ja/web/javascript/reference/global_objects/math/log2e/index.md b/files/ja/web/javascript/reference/global_objects/math/log2e/index.md
index 9d77c47e0aa653..278b5a9083fa95 100644
--- a/files/ja/web/javascript/reference/global_objects/math/log2e/index.md
+++ b/files/ja/web/javascript/reference/global_objects/math/log2e/index.md
@@ -1,15 +1,25 @@
---
title: Math.LOG2E
slug: Web/JavaScript/Reference/Global_Objects/Math/LOG2E
+l10n:
+ sourceCommit: 761b9047d78876cbd153be811efb1aa77b419877
---
{{JSRef}}
-**`Math.LOG2E`** プロパティは 2 を底とした e の対数、約 1.442 を表します。
+**`Math.LOG2E`** プロパティは 2 を底とした [e](/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/E) の対数、約 1.442 を表します。
-
+{{EmbedInteractiveExample("pages/js/math-log2e.html", "shorter")}}
-{{EmbedInteractiveExample("pages/js/math-log2e.html","shorter")}}{{js_property_attributes(0, 0, 0)}}
+## Value
+
+
+
+
+
+{{js_property_attributes(0, 0, 0)}}
## 解説
diff --git a/files/ja/web/javascript/reference/global_objects/math/pi/index.md b/files/ja/web/javascript/reference/global_objects/math/pi/index.md
index b6f20c4416bdba..86bd86d28c70ff 100644
--- a/files/ja/web/javascript/reference/global_objects/math/pi/index.md
+++ b/files/ja/web/javascript/reference/global_objects/math/pi/index.md
@@ -1,15 +1,25 @@
---
title: Math.PI
slug: Web/JavaScript/Reference/Global_Objects/Math/PI
+l10n:
+ sourceCommit: 761b9047d78876cbd153be811efb1aa77b419877
---
{{JSRef}}
**`Math.PI`** プロパティは、円周と直径の比率、およそ 3.14159 を表します。
-
+{{EmbedInteractiveExample("pages/js/math-pi.html")}}
-{{EmbedInteractiveExample("pages/js/math-pi.html")}}{{js_property_attributes(0, 0, 0)}}
+## 値
+
+
+
+
+
+{{js_property_attributes(0, 0, 0)}}
## 解説
diff --git a/files/ja/web/javascript/reference/global_objects/math/pow/index.md b/files/ja/web/javascript/reference/global_objects/math/pow/index.md
index c03da67429449f..c6f062308acb3a 100644
--- a/files/ja/web/javascript/reference/global_objects/math/pow/index.md
+++ b/files/ja/web/javascript/reference/global_objects/math/pow/index.md
@@ -1,17 +1,25 @@
---
title: Math.pow()
slug: Web/JavaScript/Reference/Global_Objects/Math/pow
+l10n:
+ sourceCommit: 761b9047d78876cbd153be811efb1aa77b419877
---
{{JSRef}}
-**`Math.pow()`** 関数は `base` を `exponent` 乗した値、つまり、`baseexponent` の値を返します。
+**`Math.pow()`** は静的メソッドで、基数をべき乗した値を返します。
+
+
+
+
{{EmbedInteractiveExample("pages/js/math-pow.html")}}
## 構文
-```
+```js-nolint
Math.pow(base, exponent)
```
@@ -24,11 +32,18 @@ Math.pow(base, exponent)
### 返値
-指定された低を指定された指数だけ累乗したものを表す数値です。
+`base` を表す数値を `exponent` 乗した値。以下のいずれかの場合は、 {{jsxref("NaN")}} を返します。
+
+- `exponent` が `NaN` である。
+- `base` が `NaN` で、`exponent` が `0` 以外である。
+- `base` が ±1 で、 `exponent` が ±`Infinity` である。
+- `base < 0` で、 `exponent` が整数ではない。
## 解説
-**`Math.pow()`** 関数は `base` の `exponent` 乗、すなわち `baseexponent` を返します。 `base` と `exponent` は 10 進数の数値です。
+`Math.pow()` は [`**`](/ja/docs/Web/JavaScript/Reference/Operators/Exponentiation) 演算子と同等ですが、 `Math.pow()` は数値のみを受け入れるという点が異なります。
+
+`Math.pow(NaN, 0)`(および同等の `NaN ** 0`)は、 {{jsxref("NaN")}} が数学演算で伝播しない唯一のケースです。これは、オペランドが `NaN` であるにもかかわらず `1` を返します。さらに、 `base` が 1 で `exponent` が無限大(±Infinity または `NaN`)である場合の動作は、結果が 1 となることを規定している IEEE 754 とは異なり、 JavaScript では元の動作との後方互換性を維持するために `NaN` を返します。
`pow()` は `Math` の静的メソッドなので、常に `Math.pow()` として使用し、自分で `Math` オブジェクトを生成してそのメソッドとして使用しないでください。 (`Math` にはコンストラクターがありません)。
@@ -41,22 +56,52 @@ Math.pow(base, exponent)
Math.pow(7, 2); // 49
Math.pow(7, 3); // 343
Math.pow(2, 10); // 1024
+
// 小数のべき乗
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 (2乗は正の数)
-Math.pow(-7, 3); // -343 (3乗は負の数)
+Math.pow(-7, 2); // 49 (2 乗は正の数)
+Math.pow(-7, 3); // -343 (3 乗は負の数)
Math.pow(-7, 0.5); // NaN (負の数には実数の平方根がない)
-// due to "even" and "odd" roots laying close to each other,
+// Due to "even" and "odd" roots laying close to each other,
// and limits in the floating number precision,
-// negative bases with fractional exponents always return NaN
+// negative bases with fractional exponents always return NaN,
+// even when the mathematical result is real
Math.pow(-7, 1 / 3); // NaN
+
+// Zero and infinity
+Math.pow(0, 0); // 1 (任意の数 ** ±0 is 1)
+Math.pow(Infinity, 0.1); // Infinity (正の指数)
+Math.pow(Infinity, -1); // 0 (負の指数)
+Math.pow(-Infinity, 1); // -Infinity (正の奇数の整数の指数)
+Math.pow(-Infinity, 1.5); // Infinity (正の指数)
+Math.pow(-Infinity, -1); // -0 (負の奇数の整数の指数)
+Math.pow(-Infinity, -1.5); // 0 (負の指数)
+Math.pow(0, 1); // 0 (正の指数)
+Math.pow(0, -1); // Infinity (負の指数)
+Math.pow(-0, 1); // -0 (正の奇数の整数の指数)
+Math.pow(-0, 1.5); // 0 (正の指数)
+Math.pow(-0, -1); // -Infinity (負の奇数の整数の指数)
+Math.pow(-0, -1.5); // Infinity (負の指数)
+Math.pow(0.9, Infinity); // 0
+Math.pow(1, Infinity); // NaN
+Math.pow(1.1, Infinity); // Infinity
+Math.pow(0.9, -Infinity); // Infinity
+Math.pow(1, -Infinity); // NaN
+Math.pow(1.1, -Infinity); // 0
+
+// NaN: only Math.pow(NaN, 0) does not result in NaN
+Math.pow(NaN, 0); // 1
+Math.pow(NaN, 1); // NaN
+Math.pow(1, NaN); // NaN
```
## 仕様書
diff --git a/files/ja/web/javascript/reference/global_objects/math/sinh/index.md b/files/ja/web/javascript/reference/global_objects/math/sinh/index.md
index 33dc66219c7eb1..0fad36a2503f17 100644
--- a/files/ja/web/javascript/reference/global_objects/math/sinh/index.md
+++ b/files/ja/web/javascript/reference/global_objects/math/sinh/index.md
@@ -1,65 +1,51 @@
---
title: Math.sinh()
slug: Web/JavaScript/Reference/Global_Objects/Math/sinh
+l10n:
+ sourceCommit: 761b9047d78876cbd153be811efb1aa77b419877
---
{{JSRef}}
-**`Math.sinh()`** 関数は、引数として与えた数の双曲線正弦 (ハイパーボリックサイン) を返します。これは{{jsxref("Math.E", "定数 e", "", 1)}} を使用して次のように表すことができます。
+**`Math.sinh()`** 静的メソッドは、数値の双曲線正弦 (ハイパーボリックサイン) を返します。
-
+
+
+
{{EmbedInteractiveExample("pages/js/math-sinh.html")}}
## 構文
-```
+```js-nolint
Math.sinh(x)
```
### 引数
- `x`
- - : 数値。
+ - : 数値です。
### 返値
-指定された数値の双曲線正弦 (ハイパーボリックサイン) です。
+`x` の双曲線正弦 (ハイパーボリックサイン) です。
## 解説
`sinh()` は `Math` の静的メソッドであるため、生成した `Math` オブジェクトのメソッドとしてではなく、常に `Math.sinh()` として使用するようにしてください (`Math` はコンストラクターではありません)。
-## ポリフィル
-
-これは {{jsxref("Math.exp()")}} 関数を使用して次のようにエミュレートできます。
-
-```js
-Math.sinh =
- Math.sinh ||
- function (x) {
- return (Math.exp(x) - Math.exp(-x)) / 2;
- };
-```
-
-または {{jsxref("Math.exp()")}} 関数を一度だけ呼び出すようにすると、次のようになります。
-
-```js
-Math.sinh =
- Math.sinh ||
- function (x) {
- var y = Math.exp(x);
- return (y - 1 / y) / 2;
- };
-```
-
## 例
### Using Math.sinh() の使用
```js
+Math.sinh(-Infinity); // -Infinity
+Math.sinh(-0); // -0
Math.sinh(0); // 0
Math.sinh(1); // 1.1752011936438014
+Math.sinh(Infinity); // Infinity
```
## 仕様書
@@ -72,6 +58,7 @@ Math.sinh(1); // 1.1752011936438014
## 関連情報
+- [`Math.sinh` のポリフィル (`core-js`)](https://github.com/zloirock/core-js#ecmascript-math)
- {{jsxref("Math.acosh()")}}
- {{jsxref("Math.asinh()")}}
- {{jsxref("Math.atanh()")}}
diff --git a/files/ja/web/javascript/reference/global_objects/math/sqrt/index.md b/files/ja/web/javascript/reference/global_objects/math/sqrt/index.md
index f77f557a9458ee..d53cd3dc16a878 100644
--- a/files/ja/web/javascript/reference/global_objects/math/sqrt/index.md
+++ b/files/ja/web/javascript/reference/global_objects/math/sqrt/index.md
@@ -1,35 +1,39 @@
---
title: Math.sqrt()
slug: Web/JavaScript/Reference/Global_Objects/Math/sqrt
+l10n:
+ sourceCommit: 761b9047d78876cbd153be811efb1aa77b419877
---
{{JSRef}}
-**`Math.sqrt()`** 関数は、ある数の平方根を返します。すなわち、
+**`Math.sqrt()`** 静的メソッドは、ある数の平方根を返します。
-
+
+
+
{{EmbedInteractiveExample("pages/js/math-sqrt.html")}}
## 構文
-```
+```js-nolint
Math.sqrt(x)
```
### 引数
- `x`
- - : 数値です。
+ - : 0 以上の数値です。
### 返値
-与えられた数値の平方根です。数値が負の場合、 {{jsxref("NaN")}} を返します。
+`x` の平方根です。 `x < 0` の場合、 {{jsxref("NaN")}} を返します。
## 解説
-`x` の値が負の数であった場合、 `Math.sqrt()` は {{jsxref("NaN")}} を返します。
-
`sqrt()` は `Math` の静的メソッドであるため、生成した `Math` オブジェクトのメソッドとしてではなく、常に `Math.sqrt()` として使用するようにしてください (`Math` はコンストラクターではありません)。
## 例
@@ -37,13 +41,13 @@ Math.sqrt(x)
### Math.sqrt() の使用
```js
-Math.sqrt(9); // 3
-Math.sqrt(2); // 1.414213562373095
-
-Math.sqrt(1); // 1
-Math.sqrt(0); // 0
Math.sqrt(-1); // NaN
Math.sqrt(-0); // -0
+Math.sqrt(0); // 0
+Math.sqrt(1); // 1
+Math.sqrt(2); // 1.414213562373095
+Math.sqrt(9); // 3
+Math.sqrt(Infinity); // Infinity
```
## 仕様書
diff --git a/files/ja/web/javascript/reference/global_objects/math/sqrt1_2/index.md b/files/ja/web/javascript/reference/global_objects/math/sqrt1_2/index.md
index 93767a0c6dd8e9..884aad78cd6fff 100644
--- a/files/ja/web/javascript/reference/global_objects/math/sqrt1_2/index.md
+++ b/files/ja/web/javascript/reference/global_objects/math/sqrt1_2/index.md
@@ -1,18 +1,30 @@
---
title: Math.SQRT1_2
slug: Web/JavaScript/Reference/Global_Objects/Math/SQRT1_2
+l10n:
+ sourceCommit: 761b9047d78876cbd153be811efb1aa77b419877
---
{{JSRef}}
**`Math.SQRT2`** プロパティは、 1/2 の平方根、約 0.707 を表します。
-
+{{EmbedInteractiveExample("pages/js/math-sqrt1_2.html", "shorter")}}
-{{EmbedInteractiveExample("pages/js/math-sqrt1_2.html", "shorter")}}{{js_property_attributes(0, 0, 0)}}
+## 値
+
+
+
+
+
+{{js_property_attributes(0, 0, 0)}}
## 解説
+`Math.SQRT1_2` は定数であり、 [`Math.sqrt(0.5)`](/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/sqrt) と同等でよりパフォーマンスの高いものです。
+
`SQRT1_2` は `Math` オブジェクトの静的プロパティなので、 `Math` オブジェクトを生成してプロパティとして使用するのではなく、常に `Math.SQRT1_2` として使用するようにしてください (`Math` はコンストラクターではありません)。
## 例
diff --git a/files/ja/web/javascript/reference/global_objects/math/sqrt2/index.md b/files/ja/web/javascript/reference/global_objects/math/sqrt2/index.md
index f2167f8ee39507..77859d2a1f04f5 100644
--- a/files/ja/web/javascript/reference/global_objects/math/sqrt2/index.md
+++ b/files/ja/web/javascript/reference/global_objects/math/sqrt2/index.md
@@ -1,18 +1,30 @@
---
title: Math.SQRT2
slug: Web/JavaScript/Reference/Global_Objects/Math/SQRT2
+l10n:
+ sourceCommit: 761b9047d78876cbd153be811efb1aa77b419877
---
{{JSRef}}
**`Math.SQRT2`** プロパティは、 2 の平方根、約 1.414 を表します。
-
+{{EmbedInteractiveExample("pages/js/math-sqrt2.html", "shorter")}}
-{{EmbedInteractiveExample("pages/js/math-sqrt2.html", "shorter")}}{{js_property_attributes(0, 0, 0)}}
+## 値
+
+
+
+
+
+{{js_property_attributes(0, 0, 0)}}
## 解説
+`Math.SQRT2` は定数であり、 [`Math.sqrt(2)`](/ja/docs/Web/JavaScript/Reference/Global_Objects/Math/sqrt) と同等でよりパフォーマンスの高いものです。
+
`SQRT2` は `Math` オブジェクトの静的プロパティなので、 `Math` オブジェクトを生成してプロパティとして使用するのではなく、常に `Math.SQRT2` として使用するようにしてください (`Math` はコンストラクターではありません)。
## 例
diff --git a/files/ja/web/javascript/reference/global_objects/math/tanh/index.md b/files/ja/web/javascript/reference/global_objects/math/tanh/index.md
index 9f65d85e12d7a9..9803ac11c263c9 100644
--- a/files/ja/web/javascript/reference/global_objects/math/tanh/index.md
+++ b/files/ja/web/javascript/reference/global_objects/math/tanh/index.md
@@ -1,57 +1,51 @@
---
title: Math.tanh()
slug: Web/JavaScript/Reference/Global_Objects/Math/tanh
+l10n:
+ sourceCommit: 761b9047d78876cbd153be811efb1aa77b419877
---
{{JSRef}}
-**`Math.tanh()`** 関数は、引数として与えた数のハイパーボリックタンジェントを返します。すなわち
+**`Math.tanh()`** 静的メソッドは、数値のハイパーボリックタンジェントを返します。
-
+
+
+
{{EmbedInteractiveExample("pages/js/math-tanh.html")}}
## 構文
-```
+```js-nolint
Math.tanh(x)
```
### 引数
- `x`
- - : 数値。
+ - : 数値です。
### 返値
-指定された数値のハイパーボリックタンジェントです。
+`x` のハイパーボリックタンジェントです。
## 解説
`tanh()` は `Math` の静的メソッドであるため、生成した `Math` オブジェクトのメソッドとしてではなく、常に `Math.tanh()` として使用するようにしてください (`Math` はコンストラクターではありません)。
-## ポリフィル
-
-{{jsxref("Math.exp()")}} 関数の助けを借りて、エミュレートできます。:
-
-```js
-Math.tanh =
- Math.tanh ||
- function (x) {
- var a = Math.exp(+x),
- b = Math.exp(-x);
- return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (a + b);
- };
-```
-
## 例
### Math.tanh() の使用
```js
+Math.tanh(-Infinity); // -1
+Math.tanh(-0); // -0
Math.tanh(0); // 0
-Math.tanh(Infinity); // 1
Math.tanh(1); // 0.7615941559557649
+Math.tanh(Infinity); // 1
```
## 仕様書
@@ -64,6 +58,7 @@ Math.tanh(1); // 0.7615941559557649
## 関連情報
+- [`Math.tanh` のポリフィル (`core-js`)](https://github.com/zloirock/core-js#ecmascript-math)
- {{jsxref("Math.acosh()")}}
- {{jsxref("Math.asinh()")}}
- {{jsxref("Math.atanh()")}}