1

、またはのような不十分な同等性チェックで評価される、trueまたは評価されるすべての値のリストが必要です。false!===if()

私は何年にもわたって収集したリストを1つ持っていましたが、それは私のPCと一緒に死にました

4

1 に答える 1

7

http://bonsaiden.github.com/JavaScript-Garden/#types.equality

「神の結果を暗記しようとするよりも、強制のルールを学ぶほうが、いくつの異なる比較を知っているのか」...

...しかし、ここにリストがあります;)

==

""           ==   "0"           // false
0            ==   ""            // true
0            ==   "0"           // true
false        ==   "false"       // false
false        ==   "0"           // true
false        ==   undefined     // false
false        ==   null          // false
null         ==   undefined     // true
" \t\r\n"    ==   0             // true

===

""           ===   "0"           // false
0            ===   ""            // false
0            ===   "0"           // false
false        ===   "false"       // false
false        ===   "0"           // false
false        ===   undefined     // false
false        ===   null          // false
null         ===   undefined     // false
" \t\r\n"    ===   0             // false

オブジェクト

{}                 === {};       // false
new String('foo')  === 'foo';    // false
new Number(10)     === 10;       // false

var foo = {};
foo                === foo;      // true

NaN                ==   NaN      // false
NaN                ===  NaN      // false
NaN                ==   false    // false

//NaN does not coerce using non-strict equality.

2014年1月29日更新:

完全を期すために追加さNaNれました。

于 2012-02-23T16:40:39.137 に答える