פרימיטיב בוליאני הוא סוג נתונים לוגי עם שני ערכים בלבד: 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"
.