gpt4 book ai didi

javascript - JavaScript 中的对象标识

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:08:47 27 4
gpt4 key购买 nike

如何检查两个变量是否指向同一个对象?这意味着如果我改变它——两个变量指向的值都会改变。 Python 中有is 运算符,那么JavaScript 呢?

最佳答案

如果引用相同而不进行任何类型转换,则严格相等运算符 (===) 的计算结果为真:

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 如果你能保证两个变量都是引用类型,== 应该可以正常工作,但这种情况很少见,所以你最好在大多数时候坚持严格比较.

关于javascript - JavaScript 中的对象标识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14696626/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com