私は1つのlibのソースでこれを見て、混乱しています。私はいつも 'false
'と評価していると思います。それを使用する意味は何ですか?それは "非数" をテスト'v!== v'の式チェックとは何ですか?
5
A
答えて
6
はv
がNaN
であるか否かをチェックする。
値XがNaNである場合のECMAScriptコードをテストするための信頼できる方法は、フォームの式である:
if(v !== v){ //'v' is NaN here }
standardからX!== X。結果が真となるのは、XがNaNの場合のみです。
組み込みのisNaN()
を使用しないのはなぜですか。
答えは簡単です。「isNaN()
は十分に信頼性がありません。」です。 isNaN()
が失敗したことになるときここでは例は、以下のとおりです。
isNaN("NaN") //true
isNaN(undefined) //true
1
:NaN !== NaN
はMDNからtrue
に等しい:
のNaNの初期値は-A-番号ではありません - 数の値と同じ。 NaN。最新のブラウザでは、NaNは設定不可能な の書き込み不可能なプロパティです。そうでない場合でも、 を無効にしないでください。
プログラムでNaNを使用することは、まれです。数学関数が
(Math.sqrt(-1))
で失敗した場合、または を解析しようとしている関数が失敗した場合は、(parseInt("blabla"))
の戻り値 が返されます。
関連する問題
- 1. システムv IPCの「キー」とは何ですか? System Vメッセージキューで
- 2. "grep -v '^ $' file.txt"とは何ですか?
- 3. RDDは(K、V)Vは、別のRDD(K、V)V
- 4. scalac v javacとscala v java
- 5. Vue.js- v-modelとv-bindの違い
- 6. RISC Vベンチマークスイートのmmベンチマークとは何ですか
- 7. クラス署名で "()V"とは何ですか?
- 8. Mercurial v Git v Subversion
- 9. ドメインイベントvイベントアグリゲータv ...その他
- 10. 関数のパラメータでv = 0とは何か
- 11. カスタムプレフィックスでディレクティブを書く方法は? `v-`とは違う何か?
- 12. Rでは、v [length(v)+1] = xがc(v、x)よりも優れているのはなぜですか?
- 13. CSSではv = 2の意味は何ですか?
- 14. Nutch v Solr v Nutch + Solr
- 15. v-ifが何かをトリガーできますか? v-ifはイベントを発生させますか?
- 16. 他のvは
- 17. はv-forループの入力(v-model)を見る方法です
- 18. v-ifとv-elseの内部で異なるテキストレンダリング
- 19. 式 `p [i&1] + = v、p`はどういう意味ですか?
- 20. var {u、v、w} = xとは何ですか; Javascriptの意味ですか?
- 21. JavaのMap.Node <K,V>クラスは何ですか?
- 22. Seq [V]がMap [Int、V]を拡張しないのはなぜですか?Set [V]はMap [V、Bool]を拡張しませんか?
- 23. java.lang.NoSuchMethodErrorの:いいえインタフェース方式onTransitionToIdle()V
- 24. OPEN PYXL V PANDAS vその他?
- 25. VueJS 2.0 v-modelの動的ターゲットv-for
- 26. 角2 V/S角速度V/Sリアクションjs v/s Typescript
- 27. Vuejs - v-forを使用するのはいつですか? v-html?
- 28. "ファイルシステムの出力"とは時間-vの意味は何ですか?
- 29. なぜコンパイラはV [+ _]に対してV [U] <: T => V [U] =>(_ <:V [_ <:U])を計算できないのですか?
- 30. vテーブルがありません。原因は何ですか?
明らかES6でそれを行う方法は、 '' Object.is(OBJは、NaN)です。http://wiki.ecmascript.org/doku.php ?id = harmony:egal –
@OttoAllmendingerかなり面白いです。情報がありがとうございます。 – Engineer