Мне нужно проверить значение поля объекта, и в зависимости от этого я хочу установить переменную ReactiveVar
. Но это поле просто необязательно, поэтому, возможно, оно вообще не существует. Каков правильный способ проверки значения?Как проверить значение переменной, если оно не определено?
Если бы я просто использовал var result = (data.profile.anyField == 'something')
, я бы получил ошибку, так как не могу использовать anyField
из undefined
, если профиль не задан.
Так что я хотел бы сделать это так, но я думаю, что это может быть сделано немного умнее и короче:
var modus;
if (Data.profile) modus = (Data.profile.anyField == 'something') ? 'setValue' : '';
else modus = '';
this.modus = new ReactiveVar(modus);
И второй вопрос, если правильно установить значение modus
Ань пустая строка? Результат должен быть таким:
this.modus = new ReactiveVar('setValue'); // if modus is true
this.modus = new ReactiveVar(); // if modus is false
Что делает «ReativeVar»? Это зависит от того, если вы можете или не можете пройти в пустой строке. Вы можете сделать «var modus = data && data.profile && data.profile.anyField ==« что-то »? 'setValue': ''; ' – putvande