בוליאני

פרימיטיב בוליאני הוא סוג נתונים לוגי עם שני ערכים בלבד: true ו-false.

אובייקט בוליאני

כל הערכים ב-JavaScript הם true או false באופן מרומז. אפשר להשתמש באובייקט Boolean כדי לאלץ ערך ל-true או ל-false בוליאני, על סמך המצב המשתמע של true או false של הערך הזה:

Boolean( "A string literal" );
> true

הערכים שהתוצאה שלהם היא false כוללים 0, null, undefined, NaN, מחרוזת ריקה (""), ערך שהושמט וערך בוליאני false. כל שאר הערכים מניבים תוצאה של true.

Boolean( NaN );
> false

Boolean( -0 );
> false

Boolean( 5 );
> true

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

אין להשתמש באובייקט Boolean כ-constructor. הוא יוצר אובייקט המכיל ערך בוליאני, ולא את הפרימיטיב הבוליאני הצפוי:

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

console.log( falseBoolean  );
> false

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

falseObject.valueOf();
> false

מכיוון שכל האובייקטים הם מהימנים מטבעם, האובייקט הבוליאני שמתקבל תמיד מקבל הערכה רופפת של true, גם אם הוא מכיל ערך false:

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

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

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

בחינת ההבנה

איזו מהאפשרויות הבאות מחזירה false?

מחרוזת ריקה
0
Null.
"none".