我经常看到 JavaScript 代码中,一个函数可能会接收一个“选项”对象,并像这样使用它:
var name = typeof options.name !== 'undefined' ? options.name : "Bob";
这似乎相当于以下内容:
var name = options.name || "Bob";
现在,我明白在某些情况下,您可能真的关心
options.name
是undefined
还是null
,这对我来说是有意义的,但我经常看到这种情况,而这种区别并不必要。
我相信我听说过人们编写这样的代码是因为IE中的某些错误。请有人详细说明一下吗?