我从服务中获取变量,它可以是true,false或undefined。如果是真或假我必须保留它,否则我必须设置为真;
我正在弄清楚如何制作它并且我使用了:
obj.foo != false && (obj.foo = true);
有最好的方法吗?我的意思是,我可以使用三元运算符,但在某些情况下,我的变量已经是假/真,那么我不需要三元的else语句。
答案 0 :(得分:2)
我认为这样可行:foo === undefined || foo
var foo = undefined;
console.log(foo === undefined || foo);
var foo = true;
console.log(foo === undefined || foo);
var foo = false;
console.log(foo === undefined || foo);
答案 1 :(得分:0)
这样的事情会起作用:
function invokeMe () {
var objectsArray = [{name: "object1", trueOrNot: true},
{name: "object2", trueOrNot: false},
{name: "object3", trueOrNot: ''}
];
objectsArray.forEach(function (object) {
object.trueOrNot = object.trueOrNot !== false ? true : false;
console.log(object);
});
}
invokeMe();