私は最近それ2 == [2]
をJavaScript で発見しました。結局のところ、この奇妙な点にはいくつか興味深い結果があります。
var a = [0, 1, 2, 3];
a[[2]] === a[2]; // this is true
同様に、次の作品:
var a = { "abc" : 1 };
a[["abc"]] === a["abc"]; // this is also true
さらに奇妙なことに、これもうまくいきます:
[[[[[[[2]]]]]]] == 2; // this is true too! WTF?
これらの動作は、すべてのブラウザで一貫しています。
これが言語機能である理由は何ですか?
この「機能」のより異常な結果は次のとおりです。
[0] == false // true
if ([0]) { /* executes */ } // [0] is both true and false!
var a = [0];
a == a // true
a == !a // also true, WTF?
これらの例はjimbojwによって発見されたhttp://jimbojw.com名声だけでなく、walkingeyerobot。
+"2"
また、数2である