Я пытаюсь найти более эффективный способ оценки свойств объекта в операциях if
, когда сам объект может быть undefined
.Упрощение проверок неопределенных переменных/свойств
Вот простой пример того, что я пытаюсь сделать:
var a = {'x':'hello'};
var b;
if(a.x) { console.log('hello'); } // 'hello'
if(a && a.x) { console.log('hello'); } // 'hello'
if(b.x) { console.log('hello'); } // TypeError: Cannot read property 'x' of undefined
if(b && b.x) { console.log('hello'); } //
Я считаю себя того, чтобы использовать второй синтаксис if(b && b.x)
для проверки объекта, а затем это свойство.
Есть ли более чистый способ, я могу это сделать?
'b && b.x' является обычным способом, так что это не будет _wrong_, если ясно, основан на мнениях. –
Вероятно, нет ничего более эффективного исполнения *, чем использование '&&'. –
Не могли бы вы определить * cleaner *? Каким будет ваш предпочтительный синтаксис? – vol7ron