From 7fe91b7974cad70612224a6d368f87948a40e9e2 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 9 Jan 2022 13:04:44 +0900 Subject: Web/JavaScript/Reference/Global_Objects 以下のプロパティを変換準備 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reference/global_objects/nan/index.html | 93 ---------------------- 1 file changed, 93 deletions(-) delete mode 100644 files/ja/web/javascript/reference/global_objects/nan/index.html (limited to 'files/ja/web/javascript/reference/global_objects/nan/index.html') diff --git a/files/ja/web/javascript/reference/global_objects/nan/index.html b/files/ja/web/javascript/reference/global_objects/nan/index.html deleted file mode 100644 index 8b8d826131..0000000000 --- a/files/ja/web/javascript/reference/global_objects/nan/index.html +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: NaN -slug: Web/JavaScript/Reference/Global_Objects/NaN -tags: - - JavaScript - - Property - - Reference -translation_of: Web/JavaScript/Reference/Global_Objects/NaN ---- -
{{jsSidebar("Objects")}}
- -

グローバルプロパティ NaN非数 (Not-A-Number) を表す値です。

- -

{{js_property_attributes(0,0,0)}}

- -
{{EmbedInteractiveExample("pages/js/globalprops-nan.html")}}
- - - -

解説

- -

NaNグローバルオブジェクトのプロパティです。言い換えれば、グローバルスコープにある変数です。

- -

NaN の初期値は非数であり、{{jsxref("Number.NaN")}} の値と同等です。最近のブラウザーであれば、 NaN は設定、書き込みがともに不可能なプロパティとなっています。そうでない場合であっても、オーバーライドは無効となります。プログラムの中で NaN を使用するのは、むしろまれなことです。

- -

NaN を返す演算には5種類があります。

- - - -

- -

NaN に対するテスト

- -

NaN は別の NaN 値を含むあらゆる数と (==!====!== によって) 同じではないと比較されます。ある値が NaN かどうかを的確に判定するには {{jsxref("Number.isNaN()")}} か {{jsxref("Global_Objects/isNaN", "isNaN()")}} を使用してください。あるいは自己比較を実行しましょう。 NaN は、また NaN だけが、自身と同等ではないと比較評価されます。

- -
NaN === NaN;        // false
-Number.NaN === NaN; // false
-isNaN(NaN);         // true
-isNaN(Number.NaN);  // true
-Number.isNaN(NaN);  // true
-
-function valueIsNaN(v) { return v !== v; }
-valueIsNaN(1);          // false
-valueIsNaN(NaN);        // true
-valueIsNaN(Number.NaN); // true
-
- -

ただし、 isNaN()Number.isNaN() には違いがあることに気をつけてください。前者は、値そのものが NaN であったり、値の変換の結果 NaN になる場合に true を返します。後者は値そのものが NaN のときにだけ true を返します。

- -
isNaN('hello world');        // true
-Number.isNaN('hello world'); // false
-
- -

加えて、配列メソッドの中には NaN を見つけることができるもの、できないものがあります。

- -
let arr = [2, 4, NaN, 12];
-arr.indexOf(NaN);                      // -1 (false)
-arr.includes(NaN);                     // true
-arr.findIndex(n => Number.isNaN(n));   // 2
-
- -

仕様書

- - - - - - - - - - - - -
仕様書
{{SpecName('ESDraft', '#sec-value-properties-of-the-global-object-nan', 'NaN')}}
- -

ブラウザーの互換性

- -

{{Compat("javascript.builtins.NaN")}}

- -

関連情報

- - -- cgit v1.2.3-54-g00ecf