假设我们有JS对象:
var object = {
innerObject:{
deepObject:{
value:'Here am I'
}
}
};
Run Code Online (Sandbox Code Playgroud)
我们如何检查value财产是否存在?我只能看到两种方式:
第一:
if(object && object.innerObject && object.innerObject.deepObject && object.innerObject.deepObject.value) {
console.log('We found it!');
}
Run Code Online (Sandbox Code Playgroud)
第二个:
if(object.hasOwnProperty('innerObject') && object.innerObject.hasOwnProperty('deepObject') && object.innerObject.deepObject.hasOwnProperty('value')) {
console.log('We found it too!');
}
Run Code Online (Sandbox Code Playgroud)
但有没有办法进行深入检查?让我们说,像:
object['innerObject.deepObject.value']
Run Code Online (Sandbox Code Playgroud)
要么
object.hasOwnProperty('innerObject.deepObject.value')
Run Code Online (Sandbox Code Playgroud) javascript ×1