如何最好地检查myvar
的javascript variable === false
或不为false(它也可能未定义)。
if (myvar === false)
只有false
是可接受的值,而不是未定义的值,在这种情况下,myvar
可能是未定义的,所以if (typeof myvar !== "undefined" && myvar === false)
是可以的,但还有其他更短的写法吗?
如何最好地检查myvar
的javascript variable === false
或不为false(它也可能未定义)。
if (myvar === false)
只有false
是可接受的值,而不是未定义的值,在这种情况下,myvar
可能是未定义的,所以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)
如果 (myvar !== undefined && myvar === false),怎么样?
undefined
可以被重新定义为其他值,因此您应该始终使用 typeof
或定义本地的 undefined
。 - Derek 朕會功夫typeof
检查语句,因为这样更符合语义。我只是在讨论重新定义变量值的问题。 - Ingo Bürkvar 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
false
或undefined
,还是只是想要任何“假值”,这样就可以使用if (myvar) ...
了呢? - adeneoif((myvar === false) && (myvar !== undefined)){
- PlantTheIdea