myvar
javascript _variable === false
_かどうかを確認する最良の方法は何ですか(同様に未定義かもしれません)。
_if (myvar === false)
_
うまくいきますが、myvar
は未定義かもしれません。 false
値のみが許容され、未定義ではありません。
if (typeof myvar !== "undefined" && myvar === false)
より短いですか?
変数が宣言済みの場合:
if (myvar === false) {
正常に動作します。 ===
は、false
が未定義であるとは見なしません。
undefined
and未宣言の場合は、使用する前にその型を確認する必要があります(そうしないと、参照エラーが発生します)。
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
偽のケース をチェックする場合、
if(myVar) {
// Your conditional code here.....
}
動作するはずです。ただし、その場合はゼロ(0
)、空の文字列(""
)または非数(NaN
)も偽物と見なされます。