ブール値オブジェクト

概要

Boolean オブジェクトは、JavaScript の 3 つのラッパー オブジェクトの 1 つです。コンストラクターとして、主にブール値のラッパー オブジェクト インスタンスを生成するために使用されます。

var b = 新しいブール値(true);

typeof b // "オブジェクト"
b.valueOf() // true

上記のコードの変数 bBoolean オブジェクトのインスタンスであり、その型は 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/ // 本当です

最後に、一部の特殊な値については、newBoolean オブジェクトの前に追加するかどうかによって、まったく逆の結果が得られるため、注意する必要があります。

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