الكائن 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 |
---|---|---|---|---|---|
الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1.
- معيار ECMAScript 1st Edition .