لماذا يعيد || القيمة الافتراضية مع النص الفارغ؟

سهلقراءة دقيقةآخر تحديث 1 أكتوبر 2026

تطوير الويب

الإجابة

لأن العامل || يعيد القيمة الثانية عندما تكون الأولى falsy، والنص الفارغ "" قيمة falsy.

const config1 = { username: "Ali", pass: "123" };
const config2 = { username: "", pass: "" };

const value1 = config1.username || 'default';  // "Ali"
const value2 = config2.username || 'default';  // "default"

القيم falsy

false و0 و"" وnull وundefined وNaN.

إذا كان النص الفارغ قيمة مقصودة

استخدم ??. فهو يستبدل فقط عند null أو undefined:

config2.username ?? 'default';  // ""

اختبر فهمك

ما قيمة value2 في الكود التالي؟

const config1 = {username: "Ali", pass: "123"};
const config2 = {username: "", pass: ""};

const value1 = config1.username || 'default'; // 'Ali'
const value2 = config2.username || 'default';