似乎以下用于检查对象成员是否存在的技术会产生错误,因为在检查之前尚未声明“bar”父对象,这意味着我要么必须在检查之前声明它,要么使用两个'typeof' 表达式,其中任何一个都是多余的代码:
var foo = {},
newVal = (typeof foo.bar.myVal !== 'undefined' ? foo.bar.myVal : null );
Error: foo.bar is undefined
那么,如何在不产生错误的情况下检查未声明对象中的成员是否存在?
我喜欢 javascript,但有时...
最佳答案
只需使用以下代码即可完成:
var newVal = (foo && foo.bar && typeof foo.bar.myVal !== 'undefined') ? foo.bar.myVal : foo.bar.myVal
属性为 null 或未定义,它将被评估为 false,因此上面的代码将只处理第一个“false”语句。
关于javascript - 如何检查对象中的对象是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6548256/