在JavaScript中使用'in'运算符有什么好处?

在JavaScript中使用'in'运算符有什么好处?,javascript,Javascript,有时我会在web上看到JavaScript代码上的s,但不是很多次。 只有很少的代码使用它 我想使用它的原因是为了使代码更具语义。 我现在很好奇 他们将其标准化的目的是什么? 在JavaScript的操作符中使用有什么好处 编辑: 嗯,对不起。我在想操作员,所以我想说的是 您可以使用这些来检查属性是否存在,然后在中使用 我想不出对象是{name:undefined}。很抱歉。中的操作符可以查看对象是否具有具有特定名称的属性 if ("name" in object) { ... } 如果没有中

有时我会在web上看到JavaScript代码上的s,但不是很多次。 只有很少的代码使用它

我想使用它的原因是为了使代码更具语义。 我现在很好奇

他们将其标准化的目的是什么? 在JavaScript的操作符中使用
有什么好处

编辑: 嗯,对不起。我在想
操作员,所以我想说的是

您可以使用这些来检查属性是否存在,然后在
中使用


我想不出
对象是
{name:undefined}
。很抱歉。

中的
操作符可以查看对象是否具有具有特定名称的属性

if ("name" in object) { ... }
如果没有
中的
,这将更加困难。您可以测试
null
undefined
,但这并不能明确回答问题

请注意,
中的标记
也出现在
中,用于。。。在
循环中:

for (name in object)

当然,这与
中的
是同一个词,但在这种情况下,它不充当表达式运算符;它只是语法中的糖分。

与什么不同,它的好处是什么?就像任何其他操作符一样,当您需要执行或发现它的作用或为您发现时,您可以使用它。@Joaquinglez-什么数组?这与
有什么关系?@Quentin而不是
。。。我只是..@SwiftArchitect我是堆栈溢出方面的新手。我很抱歉。。我已经解释清楚了。我不能用
if(object.name)
if(object[“name”])
来代替它吗?如果
object.name
是空字符串,或者零,或者
NaN
,或者
false
,或者
null
,或者
未定义的
,那么测试
if(object.name)
将以完全相同的方式失败,就像
name
不是对象的属性一样。啊,我明白了<代码>{name:undefined}
。在
中有第二个未涉及的
用法,即
用于(对象中的变量)
。。。它遍历对象中的所有属性。@JohnHascall这是
中标记
的另一种用法,但它不是
中的
表达式运算符。这是语法的一部分,但在这种情况下它不是“运算符”。这就像逗号运算符和逗号之间的区别一样,分隔函数参数:相同的标记,不同的语义。
for (name in object)