טיפוס הנתונים הבסיסי הבוליאני הוא סוג נתונים לוגי עם שני ערכים בלבד: 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 );
> false
console.log( !!falseObject );
> true
בדיקת ההבנה
איזו מהאפשרויות הבאות מחזירה את הערך false?
0null"none"