قيم منطقية

العنصر الأساسي المنطقي هو نوع بيانات منطقي يتضمّن قيمتَين فقط: true و false.

جميع القيم في JavaScript هي true أو false بشكل ضمني. يمكن استخدام عنصر Boolean لفرض قيمة على 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 كدالة تنشئة. وينشئ كائنًا يحتوي على قيمة منطقية، وليس العنصر المنطقي الذي تتوقّعه:

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

console.log( falseBoolean  );
> false

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

falseObject.valueOf();
> false

بما أنّ جميع العناصر صحيحة بطبيعتها، يتم دائمًا تقييم العنصر المنطقي الناتج بشكل فضفاض على أنّه صحيح، حتى إذا كان يحتوي على قيمة 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؟

سلسلة فارغة
0
"none"
null