【发布时间】:2015-12-01 17:30:24
【问题描述】:
我有一个我正在测试的函数,它接受两个参数定义和元素,并且其中有一个类似于
的三元语句otherThingName: (_.has(Definition.thing, 'thingName') ? Element[Definition.thing.thingName] : null)
现在Definition.thing.thingName 将存在,但元素没有名为Definition 的属性。
是否在同一设置 otherThingName 时在 Element 上设置了该属性?
【问题讨论】:
-
不看更多代码就无法判断。
-
没有。这里的括号表示法用作 getter。如果
Element具有该属性,则返回其值,否则返回undefined值。没什么特别的。 -
Element是否有一个名为Definition的属性并不重要。方括号表示法表示它正在寻找Element.xyz,其中xyz是Definition.thing.thingName中包含的值。 -
这是一个奇怪的错字,请刷新页面。
-
啊,明白了。更简单
标签: javascript ternary-operator