【发布时间】:2017-05-01 12:58:51
【问题描述】:
我相信 CoffeeScript 中有一种机制(? 令牌),但我想知道在 ES6 中是否有更好的方法来进行这种检查:
if (item && item.integrations && item.integrations.slackData) ...
(除了编写一个辅助函数,这是显而易见的解决方案)
编辑:这里的目标是使代码尽可能简单和简洁。
示例对象:
item = { integrations: { slackData: { url: '...' } } };
编辑 2:感谢您指出重复项。我不知道要搜索什么字词。我可能会使用 lodash 的 _.get() 函数。
【问题讨论】:
-
有一些例子吗?如果有 7 个层次结构,我们需要检查最深的关键是否是“真实的”?
-
"如果有更好的方法在 ES6 中进行这种检查" 不,没有。有人讨论过这样的运营商,但没有任何结果。
-
@RomanPerekhrest 我的帖子包含了这个例子……是的。你是对的,它可以深入 7 层,想法是不要写出
if (a && a.b && a.b.c && a.b.c.d && a.b.c.d.e) -
data = { integrations: { slackData: { url } = {} } = {} } = item || {};.
标签: javascript