检查变量是否为false,而不是true或未定义

Check if variable is false and not either true or undefined

本文关键字:true 未定义 变量 是否 false 检查      更新时间:2023-09-26

检查myvar是否为javascript variable === false的最佳方法是什么(也可能未定义)。

if (myvar === false)

可以,但myvar可能是未定义的。只有false值是可接受的,而不是未定义的。

if (typeof myvar !== "undefined" && myvar === false)短吗?

如果变量被声明,则:

if (myvar === false) {

会很好用的。===不会认为false是未定义的。

如果它是undefined未声明的,那么在尝试使用它之前应该检查它的类型(否则会出现引用错误)。

if(typeof myvar === 'boolean' && myvar === false) {

也就是说,如果你打算尝试使用变量,你应该确保它总是被声明的

var myvar;
// ...
// some code that may or may not assign a value to myvar
// ...
if (myvar === false) {
if(typeof myvar === 'boolean' && !myvar)

if (myvar !== undefined && myvar === false)怎么样?

在nodejs中,使用node boolify可以实现

var Boolify = require('node-boolify').Boolify;
if (Boolify(myVar) == false) {
    //Instructions when satisfy
} else {
    //Instructions when not satisfy
}

布尔转换结果

Boolify(true); //true
Boolify('true'); //true
Boolify('TRUE'); //null
Boolify(1); //true
Boolify(2); //null
Boolify(false); //false
Boolify('false'); //false
Boolify('FALSE'); //null
Boolify(0); //false
Boolify(null); //null
Boolify(undefined); //null
Boolify(); //null
Boolify(''); //null

使用lodash可以使用isBoolean函数

if(isBoolean(myvar) && myvar === false)