aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/javascript
diff options
context:
space:
mode:
authorMasahiro FUJIMOTO <mfujimot@gmail.com>2022-01-11 09:35:15 +0900
committerMasahiro FUJIMOTO <mfujimot@gmail.com>2022-01-17 23:52:45 +0900
commit502fabc4a8944968bee4fd120b45142fc6fb98fb (patch)
tree8fad9dd615fb6072c7e8af29e90741a39b44a170 /files/ja/web/javascript
parent60dbb0c3ee5f32431fb6b1e580197b7c546b1e3a (diff)
downloadtranslated-content-502fabc4a8944968bee4fd120b45142fc6fb98fb.tar.gz
translated-content-502fabc4a8944968bee4fd120b45142fc6fb98fb.tar.bz2
translated-content-502fabc4a8944968bee4fd120b45142fc6fb98fb.zip
2021/07/21 時点の英語版に同期
Diffstat (limited to 'files/ja/web/javascript')
-rw-r--r--files/ja/web/javascript/reference/global_objects/number/isnan/index.md82
1 files changed, 36 insertions, 46 deletions
diff --git a/files/ja/web/javascript/reference/global_objects/number/isnan/index.md b/files/ja/web/javascript/reference/global_objects/number/isnan/index.md
index 733a5c7ef9..54ad969401 100644
--- a/files/ja/web/javascript/reference/global_objects/number/isnan/index.md
+++ b/files/ja/web/javascript/reference/global_objects/number/isnan/index.md
@@ -7,42 +7,43 @@ tags:
- メソッド
- Number
- isNaN
+ - ポリフィル
+browser-compat: javascript.builtins.Number.isNaN
translation_of: Web/JavaScript/Reference/Global_Objects/Number/isNaN
---
-<div>{{JSRef}}</div>
+{{JSRef}}
-<p><strong><code>Number.isNaN()</code></strong> メソッドは、渡された値が {{jsxref("NaN")}} であり、かつその型が {{jsxref("Number")}} であるかどうかを判断します。元となるグローバルの {{jsxref("isNaN", "isNaN()")}} よりも堅牢な版です。</p>
+**`Number.isNaN()`** メソッドは、渡された値が {{jsxref("NaN")}} であり、かつその型が {{jsxref("Number")}} であるかどうかを判断します。元となるグローバルの {{jsxref("isNaN", "isNaN()")}} よりも堅牢な版です。
-<div>{{EmbedInteractiveExample("pages/js/number-isnan.html", "taller")}}</div>
+{{EmbedInteractiveExample("pages/js/number-isnan.html", "taller")}}
-<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div>
+## 構文
-<h2 id="Syntax" name="Syntax">構文</h2>
+```js
+Number.isNaN(value)
+```
-<pre class="syntaxbox notranslate">Number.isNaN(<var>value</var>)</pre>
+### 引数
-<h3 id="Parameters" name="Parameters">引数</h3>
+- `<var>value</var>`
+ - : {{jsxref("NaN")}} かどうかテストされる値です。
-<dl>
- <dt><code><var>value</var></code></dt>
- <dd>{{jsxref("NaN")}} かどうかテストされる値です。</dd>
-</dl>
+### 返値
-<h3 id="Return_value" name="Return_value">返値</h3>
+与えられた値が {{jsxref("NaN")}} であり、かつその型が {{jsxref("Number")}} である場合は **true**、それ以外の場合は **false** です。
-<p>与えられた値が {{jsxref("NaN")}} であり、かつその型が {{jsxref("Number")}} である場合は <strong>true</strong>、それ以外の場合は <strong>false</strong> です。</p>
+## 解説
-<h2 id="Description" name="Description">解説</h2>
+{{jsxref("Operators", "==", "#Equality")}} と {{jsxref("Operators", "===", "#Identity")}} の等価演算子ではどちらも、 {{jsxref("NaN")}} が {{jsxref("NaN")}} であるかどうかを検査すると `false` と評価されてしまうため、 `Number.isNaN()` 関数が必要となります。この状況は、 JavaScript においてあり得る他のすべての値の比較と異なります。
-<p>{{jsxref("Operators/Comparison_Operators", "==", "#Equality")}} と {{jsxref("Operators/Comparison_Operators", "===", "#Identity")}} の等価演算子ではどちらも、 {{jsxref("Global_Objects/NaN", "NaN")}} が {{jsxref("Global_Objects/NaN", "NaN")}} <em>である</em>かどうかを検査すると <code>false</code> と評価されてしまうため、 <code>Number.isNaN()</code> 関数が必要となります。この状況は、 JavaScript においてあり得る他のすべての値の比較と異なります。</p>
+グローバルの {{jsxref("isNaN", "isNaN()")}} 関数とは異なり、 `Number.isNaN()` は強制的に引数が数値に変換される問題の影響をうけません。これは、通常 {{jsxref("NaN")}} に変換されるが実際には {{jsxref("NaN")}} ではない値が、安全に渡されることを意味します。つまりこの関数は、数値型であり、かつ {{jsxref("NaN")}} である値が渡されたときのみ、 `true` を返すということです。
-<p>グローバルの {{jsxref("Global_Objects/isNaN", "isNaN()")}} 関数とは異なり、 <code>Number.isNaN()</code> は強制的に引数が数値に変換される問題の影響をうけません。これは、通常 {{jsxref("NaN")}} に変換されるが実際には {{jsxref("NaN")}} ではない値が、安全に渡されることを意味します。つまりこの関数は、数値型であり、かつ {{jsxref("NaN")}} である値が渡されたときのみ、 <code>true</code> を返すということです。</p>
+## 例
-<h2 id="Examples" name="Examples">例</h2>
+### isNaN の使用
-<h3 id="Using_isNaN" name="Using_isNaN">isNaN の使用</h3>
-
-<pre class="brush: js notranslate">Number.isNaN(NaN); // true
+```js
+Number.isNaN(NaN); // true
Number.isNaN(Number.NaN); // true
Number.isNaN(0 / 0); // true
@@ -60,39 +61,28 @@ Number.isNaN('37');
Number.isNaN('37.37');
Number.isNaN('');
Number.isNaN(' ');
-</pre>
+```
-<h2 id="Polyfill" name="Polyfill">ポリフィル</h2>
+## ポリフィル
-<p>以下の例が動作するのは、 NaN が JavaScript で唯一、自分自身と比較して等しくない値だからです。</p>
+以下の例が動作するのは、 NaN が JavaScript で唯一、自分自身と比較して等しくない値だからです。
-<pre class="brush: js notranslate">Number.isNaN = Number.isNaN || function isNaN(input) {
- return typeof input === 'number' &amp;&amp; input !== input;
+```js
+Number.isNaN = Number.isNaN || function isNaN(input) {
+ return typeof input === 'number' && input !== input;
}
-</pre>
+```
-<h2 id="Specifications" name="Specifications">仕様書</h2>
+## 仕様書
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">仕様書</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-number.isnan', 'Number.isnan')}}</td>
- </tr>
- </tbody>
-</table>
+{{Specifications}}
-<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
+## ブラウザーの互換性
-<div>{{Compat("javascript.builtins.Number.isNaN")}}</div>
+{{Compat}}
-<h2 id="See_also" name="See_also">関連情報</h2>
+## 関連情報
-<ul>
- <li>{{jsxref("Number")}}</li>
- <li>{{jsxref("isNaN", "isNaN()")}}</li>
-</ul>
+- `Number.isNaN` のポリフィルは [`core-js`](https://github.com/zloirock/core-js#ecmascript-number) で利用できます
+- {{jsxref("Number")}}
+- {{jsxref("isNaN", "isNaN()")}}