التسلسل الاختياري في JSON
جزء من قسم Logic & Flow في رحلة JavaScript على Coddy — الدرس 24 من 65.
يتيح لك التسلسل الاختياري (?.) الوصول بأمان إلى الخصائص المتداخلة دون القلق بشأن الأخطاء إذا كانت الخاصية null أو undefined.
مثال بدون التسلسل الاختياري (Optional Chaining):
let obj = {};
console.log(obj.key1.key2);
// خطأ: لا يمكن قراءة خصائص undefinedمثال مع التسلسل الاختياري:
let obj = {};
console.log(obj.key1?.key2);
// undefined (لا يوجد خطأ)- إذا كان
key1موجوداً، فإنه يصل إلىkey2. - إذا كان
key1هوnullأوundefined، فإنه يعيدundefinedبدلاً من طرح خطأ.
أمثلة إضافية:
let user = {
profile: {
name: "Alice"
}
};
console.log(user.profile?.name);
// "Alice"console.log(user.profile?.age);
// undefined (لا يوجد خطأ)console.log(user.address?.city);
// undefined (لا يوجد خطأ)يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
ورقة مرجعية
التسلسل الاختياري (?.) يصل بأمان إلى الخصائص المتداخلة دون أخطاء إذا كانت الخاصية null أو undefined:
let obj = {};
console.log(obj.key1?.key2);
// undefined (لا يوجد خطأ)إذا كانت الخاصية موجودة، فإنه يصل إلى المستوى التالي. أما إذا كانت null أو undefined، فإنه يعيد undefined بدلاً من إلقاء خطأ.
let user = {
profile: {
name: "Alice"
}
};
console.log(user.profile?.name); // "Alice"
console.log(user.profile?.age); // undefined
console.log(user.address?.city); // undefinedجرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1السلاسل النصية بعمق
أساسيات السلاسل النصيةالتكرار عبر السلاسل النصيةTemplate Literalsدوال السلاسل النصيةمراجعة - String Weaver4JSON الجزء الثاني
التكرار عبر JSONJSON المتداخلالتسلسل الاختياري في JSONالنسخ السطحي والعميقمراجعة - متجر الدراجاتمراجعة - النظام الشمسي2المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات5المجموعات - الجزء الأول
ما هي المجموعة؟التكرار عبر المجموعاتإضافة عنصرإزالة عنصرالتحقق من وجود عنصرالحجم وهل هي فارغةالنسخ والمسحملخص - أساسيات المجموعات8مواضيع شيقة حول الـ Arrays
تفكيك الـ Arrayاستخدام الـ Spread Syntax في الـ Arraysالـ Sparse Arraysمراجعة - ورشة عمل الـ Arrays3JSON الجزء الأول
ما هو JSON؟التحقق من وجود المفتاحObject MethodsSpread Operator الجزء الأولSpread Operator الجزء الثانيحذف المفاتيحمراجعة - معالجة مفاتيح JSON