この奇妙な JavaScript の動作を説明できますか?
初め :
[] === [] false
[] == [] false
なぜ偽?オブジェクトは同一であるため、true を返す必要があります。
2番 :
[] !== [] true
[] != [] true
繰り返しますが、なぜ本当ですか?オブジェクトは同一です。
この奇妙な JavaScript の動作を説明できますか?
初め :
[] === [] false
[] == [] false
なぜ偽?オブジェクトは同一であるため、true を返す必要があります。
2番 :
[] !== [] true
[] != [] true
繰り返しますが、なぜ本当ですか?オブジェクトは同一です。
それらは同一ではありません。オブジェクト IDは、同じインスタンスを指す両方のオペランドによって定義されます。
var a = [],
b = [];
a == b; // false
a == a; // true
2 つのリテラルは、常に 2 つの異なるインスタンスに評価され、等しいとは見なされません。構造上の同等性を探している場合は、JavaScript で配列を比較する方法を参照してください。.
オブジェクトは同一ではありません。この場合、オブジェクトへの参照を比較します。簡単に言えば、これらのオブジェクトが配置されているメモリ内のアドレスを比較します。このルールは、実際の値を比較するプリミティブには関係ありません。