boolean نوع boolean
آخر تحديث: 2026-10-22
boolean نوع boolean
يمتلك boolean قيمتين فقط هما true و false، ويُستخدم لمفاتيح الميزات وشروط التحقق ونتائج المقارنة.
| المجموعة | الأنواع الأساسية |
|---|---|
| النوع | نوع |
| الوضع الصارم | غير مطلوب |
ℹ️ معلومة يحوّل المحرر لغة TypeScript إلى JavaScript ثم يشغّلها (بدون فحص أنواع)؛ راجع ناتج كل مثال لنتيجة فحص الأنواع.
📝 الصيغة
let isOpen: boolean = true;
let result = 3 > 5; // false
let flag = Boolean("text"); // true
⚙️ المعاملات
| !!x | الصادق/الكاذب (truthy/falsy): في السياقات البولية مثل if تُعامل القيم 0 و "" و null و undefined و NaN كأنها خاطئة، وكل ما عداها صحيحة |
|---|
القيمة المُعادة:لا قيمة مُعادة — boolean تعليق نوع أساسي ولا يُنتج أي كود في وقت التشغيل.
▶ مثال
عدّل الكود أدناه واضغط «جرّب» لرؤية نتيجة التحويل:
الناتج:
false
true false
(مخرجات التشغيل بعد التحويل؛ انتبه إلى أن Boolean("false") تساوي true — فكل سلسلة غير فارغة صادقة)
💡 نقاط مهمة
⚠️ تنبيه Boolean("false") تساوي true: فكل سلسلة غير فارغة صادقة. قيم المفاتيح النصية (مثل "0") يجب مقارنتها صراحةً ولا يصح تحويلها بـ Boolean مباشرةً.
💡 تلميح اجعل الدوال تُعيد boolean حقيقية (تعابير مقارنة أو true/false صريحة)، ولا تُعِد قيمًا مثل "yes" أو 0 تعتمد على التحويل الضمني.
🏷️ الأنواع الأساسية ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قادم قريبًا.
📚 دروس ذات صلة
❓ أسئلة شائعة
س ما الفرق بين Boolean() و new Boolean()؟
ج الدالة Boolean(x) دالة تحويل تُعيد قيمة boolean أصلية، بينما new Boolean(x) تنشئ كائن غلاف يكون صادقًا دائمًا؛ ويُحظر استخدام الأخير في الكود الفعلي.
س لماذا Boolean("false") تساوي true؟
ج لأن التحويل البولي يفحص كون السلسلة غير فارغة فقط دون النظر إلى معنى محتواها؛ فأي سلسلة غير فارغة (بما فيها "false" و "0") قيمة صادقة.
س هل نتيجة a && b بولية دائمًا؟
ج ليس بالضرورة: فالعمليتا && و || تُعيدان أحد المعاملَين نفسه (مع إمكانية تقييم القصر (short-circuit)). عند الحاجة إلى قيمة بولية صارمة غلّف النتيجة بـ Boolean() أو اكتب تعبير مقارنة.