如何检查两个变量是否指向同一个对象?这意味着如果我改变它——两个变量指向的值都会改变。Python中有is
运算符,那么JavaScript呢?
问问题
307 次
2 回答
8
===
如果引用相同而不进行任何类型转换,则严格相等运算符 ( ) 将评估为 true:
var a, b, c;
a = {};
b = {};
c = a;
console.log( a === b ); //false
console.log( a === c ); //true
在删除了两个犯了同样错误的帖子之后,我想我应该指出,==
由于类型转换,有可能将引用类型等同于值类型:
var a, b;
a = {
toString: function () {
return 'foo';
}
};
b = 'foo';
console.log( a == b ); //true
console.log( a === b ); //false
AFAIK,如果您可以保证两个变量都是引用类型,==
那么应该可以正常工作,但是这种情况很少见,因此您最好在大多数情况下坚持严格比较。
于 2013-02-04T22:13:49.190 回答
2
Javascript 中的等效运算符是“===”。
同样,"!==" 与 Python 中的 "is not" 相同。
于 2013-02-04T22:12:58.260 回答