الكائن Boolean في JavaScript

من موسوعة حسوب

الكائن Boolean هو كائن مُغلِّف لنوع القيم الأوليّة boolean (المنطقية).

البنية العامة

new Boolean([value])

value

وسيط اختياري، وهو القيمة الابتدائية للكائن Boolean.

الوصف

القيمة المُمرَّرة كوسيط إلى الدالة البانية Boolean ستُحوَّل إلى قيمة منطقية إن كان ذلك ضروريًا؛ وإذا لم تُحدَّد القيمة، أو كانت 0 أو -0 أو null أو false أو NaN أو undefined أو سلسلة نصية فارغة "" فستكون القيمة الابتدائية للكائن هي false؛ وجميع القيمة الأخرى بما في ذلك أيّة كائنات أو السلسلة النصية "false" ستُنشِئ كائنًا قيمتهُ الابتدائية هي true.

لا تخلط بين القيم الأولية true و false، وكائنات Boolean التي لها القيم true أو false.

أيّ قيمة ليست undefined أو null -بما في ذلك كائنات Boolean التي قيمتها هي false- ستُعدّ على أنها true إذا مُرِّرَت إلى تعبيرٍ شرطي. فمثلًا التعبير الشرطي if الآتي نتيجته هي true:

var x = new Boolean(false);
if (x) {
  // ستُنفَّذ هذه الشيفرة
}

لكن السلوك السابق لا يُطبَّق على القيم المنطقية الأوليّة، فمثلًا التعبير الشطري الآتي نتيجته هي false:

var x = false;
if (x) {
  // لن تُنفَّذ هذه الشيفرة
}

لا تستخدم الكائن Boolean لتحويل قيمة غير أوليّة إلى قيمة أوليّة، وإنما استخدام الدالة Boolean لفعل ذلك:

var x = Boolean(expression);     // مستحسن
var x = new Boolean(expression); // غير مُفضَّل

إذا مُرَّرت أيّ كائن -بما في ذلك كائنات Boolean التي تكون قيمتها هي false- إلى الدالة البانية Boolean، فستكون القيمة الابتدائية للكائن Boolean الجديد هي true:

var myFalse = new Boolean(false);   // القيمة الابتدائية false
var g = new Boolean(myFalse);       // القيمة الابتدائية true
var myString = new String('Hello'); // كائن سلاسل نصيّة
var s = new Boolean(myString);      // القيمة الابتدائية true

خلاصة القول: لا تستخدم كائنات Boolean مكان القيم المنطقية الأوليّة (primitive Boolean).

الخاصيات والدوال التابعة للدالة البانية Boolean

الخاصيات

Boolean.length

قيمة الخاصية length هي 1 دومًا.

Boolean.prototype

تُمثِّل هذه الخاصية كائن prototype التابعة للكائن Boolean.

الدوال

الدالة البانية Boolean لا تملك أيّة دوال تابعة لها مباشرةً، وإنما ترث بعض الخاصيات عبر سلسلة prototype.

الكائن prototype

جميع الكائنات من النوع Boolean ترث من الكائن Boolean.prototype؛ وكما في جميع الدوال البانية، يمكنك إجراء تغييرات إلى كائن prototype في الدالة البانية لكي تنعكس تلك التعديلات إلى جميع نسخ الكائن Boolean.

الخاصيات

Boolean.prototype.constructor

تُحديد الدالة التي ستُنشِئ كائن prototype لكائنات Boolean؛ راجع صفحة الخاصيةObject.prototype.constructor لمزيدٍ من التفاصيل.

الدوال

Boolean.prototype.toString()‎

إعادة السلسلة النصية "true" أو "false" اعتمادًا على قيمة الكائن، وهي إعادة تعريف للدالة Object.prototype.toString.

Boolean.prototype.valueOf()‎

إعادة القيمة الأولية لكائن Boolean، وهي إعادة تعريف للدالة Object.prototype.valueOf.

أمثلة

إنشاء كائنات Boolean لها القيمة الابتدائية false

var bNoParam = new Boolean();
var bZero = new Boolean(0);
var bNull = new Boolean(null);
var bEmptyString = new Boolean('');
var bfalse = new Boolean(false);

إنشاء كائنات Boolean لها القيمة الابتدائية true

var btrue = new Boolean(true);
var btrueString = new Boolean('true');
var bfalseString = new Boolean('false');
var bHsoub = new Boolean('Hsoub');
var bArrayProto = new Boolean([]);
var bObjProto = new Boolean({});

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي نعم نعم نعم نعم نعم

مصادر ومواصفات