আসুন একটি উদাহরণ দিয়ে '?.' বোঝার চেষ্টা করি।
23 -
বয়সের একজন পুরুষ মানুষের বর্ণনা করে নিম্নলিখিত বস্তুর উদাহরণটি বিবেচনা করুনconst being = { human: { male: { age: 23 } } };
এখন ধরা যাক আমরা এই বস্তুর বয়স সম্পত্তি অ্যাক্সেস করতে চাই। বেশ সহজ, তাই না? আমরা নিচের কোডের মত অ্যাক্সেস করতে চেইনিং ব্যবহার করব -
উদাহরণ
const being = { human: { male: { age: 23 } } }; console.log(being.human.male.age);
আউটপুট
কনসোল আউটপুট নিম্নরূপ -
23
এখন ধরা যাক আপনি পুরুষের সম্পত্তি পরিবর্তন করে নারী বা অন্য কিছু প্রযুক্তিগত কারণে।
এখন আমাদের চেইনিং স্টেটমেন্টের কি হবে, এটি একটি typeError বলবে যেটি মানুষের অনির্ধারিত সম্পত্তি অ্যাক্সেস করতে পারে না। এই ধরনের পরিস্থিতিতে আমাদের কোড কোন ত্রুটি না করার জন্য কোন উপায় আছে কি? হ্যাঁ, এবং এখানেই '?.' ওরফে ঐচ্ছিক চেইনিং আমাদের উদ্ধারে আসে৷
৷ঐচ্ছিক চেইনিং যা করে তা বেশ সহজ, এটি স্বাভাবিক অবস্থায় স্বাভাবিক চেইনিংয়ের মতো আচরণ করে কিন্তু যখন আমরা আমাদের কোডে ত্রুটি করার পরিবর্তে অনির্ধারিত থেকে কোনও সম্পত্তি অ্যাক্সেস করার চেষ্টা করি, এটি তখন এবং সেখানে চেইনিং বন্ধ করে দেয় এবং অনির্ধারিতভাবে ফিরে আসে যাতে অবশিষ্ট অংশগুলি কোড সাধারণত কাজ করে।
আমাদের শেষ উদাহরণটি বিবেচনা করুন (ঐচ্ছিক চেইনিং) -
উদাহরণ
const being = { human: { male: { age: 23 } } } console.log(being?.human?.female?.age);
আউটপুট
ত্রুটি নিক্ষেপ করার পরিবর্তে, আউটপুট হবে −
undefined