检查变量是否为false,而不是true或未定义
Check if variable is false and not either true or undefined
检查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)
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- 未捕获的ReferenceError:$未定义
- this.router在AngularJS 2中未定义
- 未捕获的类型错误:无法读取属性'删除'的未定义
- $在调用$.holdReady(true)时未定义
- 如何将对正在定义或未定义的变量的检查强制转换为读取True或False的字符串
- 如果comparison(if语句)比较未定义的值,则返回true
- 检查变量是否为false,而不是true或未定义
- Javascript TRUE未定义或未加引号
- 检查变量是否未定义,因为它's===true或已指定值
- 为什么 in 运算符对于未定义的属性返回 true
- undefined=true;然后返回到未定义