ブール値オブジェクト
概要
Boolean オブジェクトは、JavaScript の 3 つのラッパー オブジェクトの 1 つです。コンストラクターとして、主にブール値のラッパー オブジェクト インスタンスを生成するために使用されます。
var b = 新しいブール値(true);
typeof b // "オブジェクト"
b.valueOf() // true
上記のコードの変数 b
は Boolean
オブジェクトのインスタンスであり、その型は object で、その値はブール値 true
です。
なお、「false」に対応するパッケージオブジェクトインスタンスのブール演算結果も「true」となる。
if (新しいブール値(false)) {
console.log('true');
} // 真実
if (new Boolean(false).valueOf()) {
console.log('true');
} // 出力なし
上記のコードの最初の例は、「false」に対応するパッケージング オブジェクト インスタンスがオブジェクトであるため、論理演算を実行すると、自動的にブール値「true」に変換されます(対応するブール値が一致するため)。すべてのオブジェクトはすべて「true」です)。インスタンスの valueOf
メソッドは、インスタンスに対応する元の値 (この場合は false
) を返します。
ブール関数の型変換関数
Boolean
オブジェクトは、コンストラクターとして使用するだけでなく、任意の値をブール値に変換するために単独で使用することもできます。現時点では Boolean
がシンプルなツールメソッドです。
Boolean(未定義) // false
Boolean(null) // false
Boolean(0) // false
Boolean('') // false
Boolean(NaN) // false
Boolean(1) // true
Boolean('false') // true
Boolean([]) // true
Boolean({}) // true
Boolean(function () {}) // true
Boolean(/foo/) // true
上記のコードで「true」が取得されるいくつかの状況は、注意深く覚えておく価値があります。
ちなみに、二重 NO 演算子 (!
) を使用して、任意の値を対応するブール値に変換することもできます。
!!未定義 // false
!!null // false
!!0 // 偽
!!'' // 間違い
!!NaN // false
!!1 // 本当です
!!'false' // true
!![] // 真実
!!{} // 真実
!!function(){} // true
!!/foo/ // 本当です
最後に、一部の特殊な値については、new
を Boolean
オブジェクトの前に追加するかどうかによって、まったく逆の結果が得られるため、注意する必要があります。
if (ブール値(false)) {
console.log('true');
} // 出力なし
if (新しいブール値(false)) {
console.log('true');
} // 真実
if (ブール値(null)) {
console.log('true');
} // 出力なし
if (新しいブール値(null)) {
console.log('true');
} // 真実
作者: wangdoc
アドレス: https://wangdoc.com/
ライセンス: クリエイティブ・コモンズ 3.0