Скажем, у нас есть объект JS:
var object = {
innerObject:{
deepObject:{
value:'Here am I'
}
}
};
Как проверить, существует ли свойство value
?
Я вижу только два пути:
Первый:
if(object && object.innerObject && object.innerObject.deepObject && object.innerObject.deepObject.value) {
console.log('We found it!');
}
Второй:
if(object.hasOwnProperty('innerObject') && object.innerObject.hasOwnProperty('deepObject') && object.innerObject.deepObject.hasOwnProperty('value')) {
console.log('We found it too!');
}
Но есть ли способ сделать глубокую проверку? Скажем, что-то вроде:
object['innerObject.deepObject.value']
или
object.hasOwnProperty('innerObject.deepObject.value')