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
?
0
null
"none"