Например,
, следующий код
if( obj.attr1.attr2.attr3.attr4 == 'constant' ) return;
необходимо переписать как
if( obj.attr1
&& obj.attr1.attr2
&& obj.attr1.attr2.attr3
&& obj.attr1.attr2.attr3.attr4 == 'constant' ) return;
. Правильно ли я в том, что каждый слой необходимо тестировать индивидуально, или есть синтаксическийярлык для этого?
если бы это был однократный выстрел, это не было бы проблемой, но эта конструкция пронизывает мой код.
из ответов, вот решение, которое я нашел на месте:
try{ if( obj.attr1.attr2.attr3.attr4 != 'const' ) throw 'nada'; } catch(e){
nonblockAlert( 'Relevant Message' );
return;
};
это работает, так как ошибка, выдаваемая за несуществование атрибута, обнаруживается с помощью локального throw ().проблема в том, что синтаксис не вписывается в нормальный, если тогда другой контроль.