Javascript 不知道该怎么问,但他们想在这里做什么?

Javascript 不知道该怎么问,但他们想在这里做什么?,javascript,Javascript,在JS中,他们在下面的行中说了什么 members = members || {}; 我被OR操作员弄糊涂了。他们是说如果成员不为null,则将其设置为等于成员或创建一个新对象吗?这是说,如果成员不是未定义的或“false”,则将其设置为成员,否则将其设置为一个新的空JavaScript对象 如果代码多次运行,则通常使用这种类型的代码。第一次通过成员通常是未定义的,但随后的时间它会有一个您不想丢失的值 使用这些类型的语句需要注意的事项:一些实际值,如0或false将计算为“false”条件。在

在JS中,他们在下面的行中说了什么

members = members || {};

我被OR操作员弄糊涂了。他们是说如果成员不为null,则将其设置为等于成员或创建一个新对象吗?

这是说,如果
成员
不是未定义的或“false”,则将其设置为
成员
,否则将其设置为一个新的空JavaScript对象

如果代码多次运行,则通常使用这种类型的代码。第一次通过
成员
通常是
未定义的
,但随后的时间它会有一个您不想丢失的值


使用这些类型的语句需要注意的事项:一些实际值,如
0
false
将计算为“false”条件。在这种情况下,这不是一个问题。将来如果你使用类似的东西,请记住这一点。任何“false”都将默认为
|
语句的“另一端”。在本例中,
{}

他们说,如果变量成员不存在,则将其声明为空对象

如果确实存在,请使用它

编辑: 如前所述,成员必须是“falsey”值才能重置为空对象。 使用此技术时,如果有可能将成员设置为0、空字符串等,请小心

members = members || {};
这意味着如果members变量未定义,则
members==members
else
members=={}


这种情况下,成员返回对象({}),然后使用
members
,如果成员不返回对象,则使用
{}

它使用Javascripts返回值作为| |运算符,即“返回第一个真实的东西”

所以在本例中,如果成员存在,它将返回成员,否则它将返回{}


这是一种在尚未设置的情况下快速设置对象的方法(例如,实现函数的默认参数)

这基本上意味着如果成员已经存在,则使用它,否则创建一个新对象。

不是完全重复的,但非常接近:。谢谢。“现在说得通了。”编辑:我很高兴能为您服务。请记住,通过选中投票控件下的复选框,将最合适的答案标记为答案。这是为了社区,为了你自己,也为了回答问题的人。