3

2 つの変数が同じオブジェクトを指していることを確認する方法は? つまり、変更すると、両方の変数が指す値が変更されます。Python にはis演算子がありますが、JavaScript はどうですか?

4

2 に答える 2

8

===型変換を行わずに参照が同じである場合、厳密な等値演算子 ( ) は true と評価されます。

var a, b, c;
a = {};
b = {};
c = a;
console.log( a === b ); //false
console.log( a === c ); //true

==同じ過ちを犯した 2 つの投稿を削除した後、型変換により参照型を値型と同一視する可能性があることを指摘しておく必要があると思います。

var a, b;
a = {
    toString: function () {
        return 'foo';
    }
};
b = 'foo';
console.log( a == b ); //true
console.log( a === b ); //false

私の知る限り、両方の変数が参照型であることを保証できれば、問題==なく機能するはずですが、ほとんどの場合、厳密な比較に固執する方がよいケースはめったにありません。

于 2013-02-04T22:13:49.190 に答える
2

Javascript で同等の演算子は「===」です。

同様に、「!==」は Python の「ではない」と同じです。

于 2013-02-04T22:12:58.260 に答える