Valori booleani

Il tipo di dati primitivi booleano è un tipo di dati logici con solo due valori: true e false.

Oggetto booleano

Tutti i valori in JavaScript sono implicitamente true o false. L'oggetto Boolean può essere utilizzato per forzare un valore in un valore booleano true o false, in base allo stato implicito true o false del valore:

Boolean( "A string literal" );
> true

I valori che generano false includono 0, null, undefined, NaN, una stringa vuota (""), un valore omesso e un valore booleano false. Tutti gli altri valori generano true.

Boolean( NaN );
> false

Boolean( -0 );
> false

Boolean( 5 );
> true

Boolean( "false" ); // the value `"false"` is a string, and therefore implicitly true.
> true

Evita di utilizzare l'oggetto Boolean come costruttore. Viene creato un oggetto contenente un valore booleano, non la primitiva booleana che potresti aspettarti:

const falseBoolean = Boolean( 0 );
const falseObject = new Boolean( 0 );

console.log( falseBoolean  );
> false

console.log( falseObject  );
> Boolean { false }

falseObject.valueOf();
> false

Poiché tutti gli oggetti sono intrinsecamente veri, l'oggetto booleano risultante viene sempre valutato in modo approssimativo come true, anche se contiene un valore false:

const falseBoolean = Boolean( 0 );
const falseObject = new Boolean( 0 );

console.log( falseBoolean == true );
> false

console.log( falseObject == true );
> false

console.log( !!falseObject );
> true

Verificare di aver compreso

Quale dei seguenti valori restituisce false?

Una stringa vuota
0
null
"none"