过了一会儿写javascript我总是有这个问题。我总是要检查变量存在,然后才能使用它的属性,否则我会得到一个错误。如下面的代码JavaScript使用财产安全,没有得到错误
if (something) {
var data = {
date: moment()
};
}
var x = new F({
param: param,
date: data.date || null //<-- still error
})
其中一些变量可能存在或不是,那我肯定不能使用date.date。我必须创建一个新变量来解决这个问题。像
if(data){ date = data.date }
但是有没有更短的解决方案?
date:(data || {})。date || null // < - 没有错误。但看起来不好:D。 –
是的,这是一个问题,但你让它比它所需要的更困难。而不是仅仅有时实例化'data',只是经常做,如果条件通过,添加属性。这样你就不需要防止'数据'被'未定义',你只关心它有或没有的属性。事实上,你不需要'|| null“,因为如果没有'date'属性,你只需要'undefined'。 – vlaz