gpt4 book ai didi

javascript - 在 JavaScript 中,是否有更简单的方法来检查属性的属性是否存在?

转载 作者:可可西里 更新时间:2023-11-01 01:22:55 25 4
gpt4 key购买 nike

在 JavaScript 中,是否有一种简单的方法来 native 确定对象中是否存在深层属性?例如,我需要访问这样的属性:

var myVal = appData.foo.bar.setting;

但是有可能还没有定义 foo、foo.bar 或 foo.bar.setting。在 Groovy 中,我们可以这样做:

def myVal = appData?.foo?.bar?.setting

在 JavaScript 中是否有类似的方法来执行此操作,而无需编写自定义函数或嵌套 if 语句?我找到了 this answer很有用,但希望有一种更优雅、更少定制的方式。

最佳答案

我觉得这很方便:

var myVal = (myVal=appData) && (myVal=myVal.foo) && (myVal=myVal.bar) && myVal.settings;

如果属性存在,将尝试序列的下一部分。

&& 之前的表达式计算结果为 false 时,表达式的下一部分将不会被检查。如果未定义 myVal.appData.foo.bar.settings 中的任何一个,则 myVal 的值(undefined(将评估为 假的

关于javascript - 在 JavaScript 中,是否有更简单的方法来检查属性的属性是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7636789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com