قيم منطقية

العنصر الأساسي المنطقي هو نوع بيانات منطقي يتضمّن قيمتَين فقط: 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
null
"none"