在JS中,他们在下一行中说了什么?
members = members || {};
我被OR运算符弄糊涂了。他们是否说如果成员不为null使其等于成员或创建新对象?
答案 0 :(得分:2)
它说如果members
是不 undefined
或" falsey"然后它会将其设置为members
,否则它会将其设置为一个新的空JavaScript对象。
如果代码不止一次运行,通常会使用这种类型的代码。通过members
的第一次通常是undefined
,但随后的时间会有一个您不想丢失的值。
使用这些类型的陈述需要注意的事项:0
或false
等一些真实值会评估为" falsey"条件。在这种情况下,这不是问题。在将来,如果你使用类似的东西,请牢记这一点。任何" falsey"将默认为"另一方" ||
声明。在这种情况下,{}
。
答案 1 :(得分:2)
members = members || {};
这意味着如果成员变量未定义,则members == members
其他members == {}
这种情况用于成员返回对象({})然后使用members
,如果成员没有返回对象,则使用{}
答案 2 :(得分:2)
它使用Javascripts返回值作为||操作员,这是“返回第一件真正的东西”
因此,在这种情况下,如果成员存在,它将返回成员,否则它将返回{}。
如果设置尚未设置(例如实现函数的默认参数),这是一种快速设置方法
答案 3 :(得分:0)
他们说,如果变量成员不存在,则将其声明为空对象。
如果它存在,请使用它
EDITED: 正如所指出的,成员必须是一个“虚假的”。要重置为空对象的值。 使用这种技术时,如果有成员可以设置为0,空字符串等,请注意。
答案 4 :(得分:0)
这基本上意味着如果成员已经存在使用它,否则创建一个新对象。