Javascript 测试假值时如何进行空值检查?

Javascript 测试假值时如何进行空值检查?,javascript,Javascript,我得到安慰,null和false都变成了真值。但是我只需要检查布尔值中的false和true。如何做到这一点 这是我的密码: var x = {name:null} //gives true. but i am looking to avoid null var y = {name:false} var z = {name:true} console.log(!x.name); console.log(!y.name); console.log(!z.name); 您可以检查类型,必要时检查

我得到安慰,null和false都变成了真值。但是我只需要检查布尔值中的false和true。如何做到这一点

这是我的密码:

var x = {name:null} //gives true. but i am looking to avoid null
var y = {name:false}
var z = {name:true}

console.log(!x.name);
console.log(!y.name);
console.log(!z.name);

您可以检查类型,必要时检查值

var x={name:null}, y={name:false}, z={name:true}; console.logtypeof x.name=='boolean'; console.logtypeof y.name=='boolean';
console.logtypeof z.name=='boolean' 不能,除非显式检查null。null,就像undefined一样,0等是一个虚假的值,意味着任何时候使用布尔否定!它会变成现实。 最好是添加一些代码以确保值不等于null

const x = {name:null};
const y = {name:false};
const z = {name:true};

console.log(!x.name && x.name !== null); // false
console.log(!y.name && y.name !== null); // true
console.log(!z.name && z.name !== null); // false

希望这有帮助

null的输出是什么?请使用严格比较运算符。如果x==false…为什么会有反对票?论坛是来澄清疑问和解决问题的,对吗?@Ivar-object value的默认值为null。服务器根据条件提供false或true。默认值为null,UI被认为是错误的,但我试图避免。只需要检查正确或错误,而不是null@user2024080所以你想要!null返回false?换句话说,你只想要!假为真,其他任何东西都应该是假的?听起来像是z的作业。name===false。