gpt4 book ai didi

javascript - JavaScript 中 `in` 运算符的好处/优点是什么?

转载 作者:行者123 更新时间:2023-11-29 19:30:26 24 4
gpt4 key购买 nike

in 运算符似乎从很久以前就可用。

var obj = {foo: 'bar'};
if ('foo' in obj) {
console.log(obj.foo);
}
if (undefined !== obj.foo) {
console.log(obj.foo);
}

上面代码中的两个 if block 做同样的事情。这个例子本身可能太简单了,但是通过阅读 MDN ,对我来说,我不会使用它。除了输入更少的字符和可读性之外,还有什么我看不到的好处/优势吗?你能给我一个关于 in 运算符用法的好例子吗?

最佳答案

来自 MDN :

If you set a property to undefined but do not delete it, the in operator returns true for that property.

因此,in 运算符可用于查找对象中是否存在某个属性,即使它是未定义。您显示的第二种方式,undefined !== obj.foo,如果属性不存在或未定义,将返回 false。

例子:

var obj = { myProp: undefined };

'myProp' in obj; // = true
obj.myProp !== undefined; // false

如果您想在为对象赋值之前确认某个属性存在于某个对象上,我认为这很有用,因为即使该属性之前不存在,赋值也会起作用。

关于javascript - JavaScript 中 `in` 运算符的好处/优点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28024839/

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