javascript で演算子を使用するとin
、奇妙なことがわかります。in
と同様のルールを使用しているようです==
が、同じではありません。ここにいくつかのテストがあります:
var obj = {1: 'a', 3: 'b'};
1 in obj //=> true
'1' in obj //=> true
[1] in obj //=> true
true in obj //=> false
なぜなら、オペランドは、以外の演算子1 == '1' == [1] == true
と比較する前に文字列または整数型にキャストされるようです。だから私は正しいのだろうか?in
boolean