まず最初に、私は方法isNaN()
とNumber.isNaN()
作業を知っていることを述べたいと思います。私はデビッドフラナガンによる明確なガイドを読んでいて、値がNaN
次の値であるかどうかを確認する方法の例を示しています
x !== x
これは、になりますtrue
場合にのみx
ですNaN
。
しかし今、私は質問があります。なぜ彼は厳密な比較を使用するのですか?どうやら
x != x
同じように動作します。両方のバージョンを使用しても安全ですか、またはtrue
for x !== x
およびfalse
forで返されるJavaScriptの値が不足していますx != x
か?
NaN
一意のタイプではなく、数値です。それはそれ自体とは異なるユニークな値です。
===
のNaNでポイントを作るためにはNaNが自分自身に等しくないと。彼は「間違っている」わけではなく、それが機能しないことを示すために、指導演習としてそれをやっています。
!==
チェックよりも!=
チェックを好むだけかもしれません。私が知っている限り、他に価値はありませんx != x
。好む人:しかし、JavaScript開発者の2つのグループがある!=
と好む人!==
、それは等速、明瞭さ、表現力、のためのもの