Javascript undefined object 属性

标签 javascript typescript

<分区>

我想知道在以下情况下我该如何检查未定义的属性?

let foo = {
    bar: {
        f: {
            b: 90
        }
    }
}

我觉得有一点

foo.bar && foo.bar.f && foo.bar.f.b ? foo.bar.f.b : null

也许可行,但我相信存在更好的方式。

最佳答案

您可以使用名为 lodash 的模块.它实际上是惊人的并且简化了很多工作。例如,在这种情况下,您将使用 _.get(foo, 'bar.f.b', 'default');

如果该属性存在,它将返回它,否则,它返回'default'。您可以将第三个参数更改为任何您喜欢的参数,例如 null

关于Javascript undefined object 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46959240/

相关文章:

angular - ng build --prod (AOT) 时装饰器不支持函数调用

angular - 从来自 Angular 中 RESTful 服务的大数据中获取特定字段的最佳实践是什么?

javascript - 非缓存的 js 脚本是否附加到 ajax-get 请求的主文件中?

javascript - 将纯文本链接转换为可点击链接

javascript - execCommand h1 样式仅选定文本

angular - "Function calls are not supported. Consider replacing t he function or lambda with a reference to an exported function, resolving symbol"

angular - 当使用patchValue方法更新表单值时,表单变脏?

javascript - 将响应映射到可变 Angular 5

Javascript 待办事项列表 - 我的代码有什么问题?

Javascript : execute a script after location. href