如果未定义变量值,如何检查?

时间:2016-05-05 09:22:26

标签: javascript

我需要检查对象字段的值,并根据我想要设置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

1 个答案:

答案 0 :(得分:1)

问题1:

单行:

new ReactiveVar(Data.profile && Data.profile.anyField == 'something' ? 'setValue' : '');

问题2:

undefined

替换空字符串