اختیاری تبدیل کرنے والا آپریٹر اس وقت تک راستے پر چلتا رہے گا جب تک کہ یہ کسی پراپرٹی کی قیمت تک نہ پہنچ جائے یا غلطی کا شکار نہ ہو جائے:
ملازم دو = {پہلا نام : 'جان' ،
آخری نام : 'کرو' ،
عمر : 3. 4
} ;
تسلی. لاگ ( ملازم. پتہ ? . زپ ) ;
اگر ہم نے اختیاری چیننگ آپریٹر کا استعمال کیے بغیر اسی پراپرٹی ویلیو تک رسائی حاصل کرنے کی کوشش کی ہوتی تو ہمیں ایک غلطی موصول ہوتی:
ملازم دو = {
پہلا نام : 'جان' ،
آخری نام : 'کرو' ،
عمر : 3. 4
} ;
تسلی. لاگ ( ملازم. پتہ . زپ ) ;
طریقہ کالز پر اختیاری زنجیر
اختیاری سلسلہ بندی میتھڈ کالز پر بھی کام کرتی ہے۔ آپ اختیاری زنجیر استعمال کر سکتے ہیں جب آپ کو یقین نہ ہو کہ آیا کسی چیز کے اندر کوئی طریقہ موجود ہے۔ مثال کے طور پر استعمال کا کیس ایک API سے حاصل کردہ ڈیٹا ہے جس میں صارف کے آلے کے لحاظ سے کچھ خصوصیات شامل ہوسکتی ہیں یا نہیں:
ملازم دو = {
پہلا نام : 'جان' ،
آخری نام : 'کرو' ،
عمر : 3. 4
} ;
تسلی. لاگ ( ملازم. طریقہ ? . ( ) ) ;
اختیاری زنجیر کے بغیر:
ملازم دو = {
پہلا نام : 'جان' ،
آخری نام : 'کرو' ،
عمر : 3. 4
} ;
تسلی. لاگ ( ملازم. طریقہ ( ) ) ;
غلطیوں سے بچنے کے لیے اختیاری چیننگ آپریٹر کو ایک ہی بیان میں متعدد بار استعمال کیا جا سکتا ہے۔
Nullish coalescing آپریٹر کے ساتھ اختیاری زنجیر کو جوڑنا
اختیاری زنجیر بھی ?? پراپرٹی یا طریقہ موجود نہ ہونے کی صورت میں آپریٹر کو ڈیفالٹ ویلیو فراہم کرنا:
ملازم دو = {پہلا نام : 'جان' ،
آخری نام : 'کرو' ،
عمر : 3. 4
} ;
تسلی. لاگ ( ملازم. طریقہ ? . ( ) ؟؟ 'فنکشن موجود نہیں ہے' ) ;
ڈیفالٹ ویلیو کچھ فنکشن کال بھی ہو سکتی ہے۔
اختیاری زنجیر کا کثرت سے استعمال
کوڈ کی پڑھنے کی اہلیت اور خوبصورتی کو بڑھانے کے لیے اختیاری زنجیر متعارف کرائی گئی۔ اسے احتیاط سے استعمال کیا جانا چاہئے کیونکہ اس کے نتیجے میں غلطیوں کو خاموش کیا جاسکتا ہے۔ اختیاری چیننگ آپریٹر کا زیادہ استعمال آپ کے کوڈ میں مسائل کا سبب بن سکتا ہے۔
نتیجہ
اختیاری سلسلہ بندی JavaScript کی ایک حال ہی میں شامل کردہ خصوصیت ہے جس کا استعمال ڈیپ نیسٹڈ JavaScript آبجیکٹ کے اندر موجود خصوصیات اور طریقوں تک رسائی کے لیے کیا جا سکتا ہے بغیر ان طریقوں اور خصوصیات کے وجود کے لیے دستی جانچ پڑتال کرنے کی فکر کیے بغیر۔