私はx
の値は、我々が表現x == null
true
に評価を持っているものを見つける(すなわち、コードを書くことで)プログラムでへの道を見つけるしたいと思います。決定型変換は、プログラム
2
A
答えて
3
これは(少なくとも基本的なJavaScriptのルールの事前知識なし)プログラムx == null
が真であるx
の全て値を決定することができるようにすることは不可能です。
同様の試験をするために行うことができる(この特定のテストケースは、それが真であろうすべての回をカバーし。)
var v = [null, undefined, false, true, -1, 0, 1, "", " ", "0", {}, []]
for (var i = 0; i < v.length; i++) {
var x = v[i]
alert(x + " == null? " + (x == null))
}
:ただし、以下のヒューリスティックを誘導することができるパターンを示すべき== false
など
ハッピーコーディング。
テスト値の他の提案については、レイトアルの答えをご覧ください。 JavaScriptが変換にこれらの変換は、あなたがnull
に対して可能なすべての値をテストする必要があります==
オペレータの上に適用され、可能な値の数は無制限で道を入力し実行する方法について、少なくとも何かを知らない場合には
2
、あなたが求めるものはできません。
- 未定義
- ヌル
- 真
- 偽 :あなたは、以下のカテゴリにすべての可能なJavaScriptの表現の世界を打破することができます知識の少しで
- 負の有限数
- posit有限数字
- をアイブ負の無限大
- 正の無限大
- NaNの
- 空の文字列
- 少なくとも1つの非空白文字
- と
- 空白文字列の完全な文字列空のオブジェクト
- いくつかのプロパティを持つオブジェクト
各クラスの代表値をnull
に対して試してみてください。
私は、正確には==
のセマンティクスを定義するECMA-262仕様の正確なセクションを知っているとの疑問を持ちました。 (セクション11.9.3のthe 5.1 spec)
関連する問題
- 1. コマンドライン引数のプログラムをメニュー駆動型プログラムに変換する
- 2. ラムダ型変換の型変換
- 3. 型変換または変換メソッド?
- 4. JVMがプリミティブ変数のデータ型を決定する方法は?
- 5. テンプレート一定の型変換演算子
- 6. ユーザー定義型 - 単位、変換
- 7. Swiftクラスの型の決定
- 8. 式の型の決定
- 9. Javaの名詞型決定
- 10. Typescript型変換
- 11. 型変換()
- 12. Groovy型変換
- 13. 変換int型
- 14. sqlite3_column_text()型変換
- 15. ダイナミック型変換
- 16. SPARQL型変換?
- 17. Regd。型変換
- 18. データ型変換
- 19. クリック型変換
- 20. 型変換
- 21. 変換データ型
- 22. Json.NET型変換
- 23. 変換はデータ型intに
- 24. 型変換例外NHibernateは
- 25. phpの型変換フォーマットメガバイトは
- 26. ユーザー定義型への型変換文字列(セル値)?
- 27. c#オブジェクト型変換
- 28. 自動型変換
- 29. 型昇格/変換
- 30. データ型変換エラー
理論的に言えば、それは不可能です。 xがとりうる値の範囲は無限です。あなたは言語仕様を見たり、良いプロセスである特定の値だけを見るために排除のプロセスを使わなければなりません。 – Anurag