gpt4 book ai didi

javascript - 检查是否定义了 javascript 对象/属性

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:02:07 24 4
gpt4 key购买 nike

所以我已经阅读了一些 SO 帖子和一些博客,但仍然无法弄清楚为什么我的代码无法正常工作。

我的代码:

function myFunct(d) {
if (typeof d.parent.name == "undefined") {
console.log("undefined") ;} else { console.log("defined") ;}
}

d 是一个看起来像这样的对象:

Object { 
children: Object,
count: 676
}

我已经尝试使用 (!d.parent.name)hasOwnProperty===,并且如上所述使用 类型。有什么建议吗?

我收到的错误是 TypeError: d.parent.name is undefined

更新:

好的,谢谢大家的意见,如果问题令人困惑,我深表歉意。我实际上是在寻找 d.parent.parent 但试图通过使用 d.parent 来简化问题。我认为问题是 d.parent 没有定义,所以它甚至没有到达 d.parent.parent。抱歉没有说得更具体!

最佳答案

如果你想在你的对象树中一直进行未定义的安全检查,你可以使用:

if( typeof( ((d || {}).parent || {}).name ) === 'undefined') {

}

如果您可以随意使用 Lodash:

var d = { 
parent: {
name: "Joe"
}
};

if ( typeof (_.get(d, "parent.name")) === 'undefined' ) {

}

关于javascript - 检查是否定义了 javascript 对象/属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36559349/

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