不知道如何问这个问题,但他们在这里想做什么



在JS中,他们在下一行说什么?

members = members || {};

我对 OR 运算符感到困惑。他们是说如果成员不为空,则使其等于成员或创建一个新对象?

它的意思是,如果members不是undefined或"假"的东西,那么它会将其设置为 members否则它会将其设置为一个新的空 JavaScript 对象。

如果代码多次运行,则通常使用这种类型的代码。第一次通过members通常是undefined但随后它会有一个你不想失去的价值。

使用这些类型的语句需要注意的事项:一些实际值(如 0false)将评估为"错误"条件。在这种情况下,这不是问题。将来,如果您使用类似的东西,请记住这一点。任何"虚假"都将默认为||语句的"另一方"。在这种情况下,{}.

members = members || {};

这意味着如果成员变量不是未定义的,则members == members其他变量members == {}

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

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

所以在这种情况下,如果成员存在,它将返回

成员,否则它将返回 {}。

如果尚未设置,这是一种设置内容的快速方法(例如,实现函数的默认参数)

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

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

如果它确实存在,请使用它

编辑:正如所指出的,成员必须是"假"值才能重置为空对象。使用此技术时,如果成员有可能设置为 0、空字符串等,请小心。

相关内容

最新更新