Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

التسلسل الاختياري في 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 (لا يوجد خطأ)
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

ورقة مرجعية

التسلسل الاختياري (?.) يصل بأمان إلى الخصائص المتداخلة دون أخطاء إذا كانت الخاصية 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

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow