জাভাস্ক্রিপ্ট | ঐচ্ছিক চেইনিং

Jabhaskripta Aicchika Ce Inim



ঐচ্ছিক চেইনিং হল জাভাস্ক্রিপ্টের একটি মোটামুটি নতুন বৈশিষ্ট্য যা ECMA আন্তর্জাতিক দ্বারা চালু করা হয়েছে। এটি বিদ্যমান নেই এমন সম্পত্তি সম্পর্কে চিন্তা না করেই গভীর নেস্টেড বস্তুর বৈশিষ্ট্যগুলি পরীক্ষা করতে ব্যবহৃত হয়। এটি ত্রুটিগুলি না চালিয়ে সেই মানগুলি পরীক্ষা করার একটি নিরাপদ উপায় সরবরাহ করে। ঐচ্ছিক চেইনিং অপারেটর একটি ত্রুটির পরিবর্তে একটি অনির্ধারিত মান প্রদান করে, যখন রেফারেন্সটি বিদ্যমান থাকে না। এই বৈশিষ্ট্যটি এমন কিছু নয় যা আপনার কোডে অবশ্যই প্রয়োজন হবে তবে প্রায়শই এটি খুব দরকারী বলে প্রমাণিত হতে পারে। ঐচ্ছিক চেইনিং সবচেয়ে ভাল কাজ করবে যখন আপনি ডেটা আসলে কেমন হতে পারে সে সম্পর্কে নিশ্চিত নন, যেমন, API-এর সাথে কাজ করার সময়।

ঐচ্ছিক পরিবর্তনকারী অপারেটরটি পাথের নিচে চলতে থাকবে যতক্ষণ না এটি একটি সম্পত্তির মান পৌঁছায় বা একটি ত্রুটিতে চলে যায়:

কর্মচারী যাক = {
নামের প্রথম অংশ : 'জন' ,
নামের শেষাংশ : 'হরিণী' ,
বয়স : 3. 4
} ;

কনসোল লগ ( কর্মচারী ঠিকানা ? . জিপ ) ;







যদি আমরা ঐচ্ছিক চেইনিং অপারেটর ব্যবহার না করে একই সম্পত্তির মান অ্যাক্সেস করার চেষ্টা করতাম তাহলে আমরা একটি ত্রুটি পেতাম:



কর্মচারী যাক = {
নামের প্রথম অংশ : 'জন' ,
নামের শেষাংশ : 'হরিণী' ,
বয়স : 3. 4
} ;

কনসোল লগ ( কর্মচারী ঠিকানা . জিপ ) ;



মেথড কলে ঐচ্ছিক চেইনিং

ঐচ্ছিক চেইনিং পদ্ধতি কলেও কাজ করে। আপনি ঐচ্ছিক চেইনিং ব্যবহার করতে পারেন যখন আপনি নিশ্চিত নন যে একটি বস্তুর মধ্যে একটি পদ্ধতি বিদ্যমান কিনা। একটি উদাহরণ ব্যবহারের ক্ষেত্রে একটি API থেকে ডেটা আনা হয় যাতে ব্যবহারকারীর ডিভাইসের উপর নির্ভর করে নির্দিষ্ট বৈশিষ্ট্য থাকতে পারে বা নাও থাকতে পারে:





কর্মচারী যাক = {
নামের প্রথম অংশ : 'জন' ,
নামের শেষাংশ : 'হরিণী' ,
বয়স : 3. 4
} ;

কনসোল লগ ( কর্মচারী পদ্ধতি ? . ( ) ) ;

ঐচ্ছিক চেইনিং ছাড়া:



কর্মচারী যাক = {
নামের প্রথম অংশ : 'জন' ,
নামের শেষাংশ : 'হরিণী' ,
বয়স : 3. 4
} ;

কনসোল লগ ( কর্মচারী পদ্ধতি ( ) ) ;

ঐচ্ছিক চেইনিং অপারেটরটি ত্রুটি এড়াতে একটি একক বিবৃতিতে একাধিকবার ব্যবহার করা যেতে পারে।

Nullish coalescing অপারেটরের সাথে ঐচ্ছিক চেইনিং একত্রিত করা

ঐচ্ছিক চেইনিং এর সাথেও পেয়ার করা যায়?? সম্পত্তি বা পদ্ধতিটি বিদ্যমান না থাকলে অপারেটর একটি ডিফল্ট মান প্রদান করবে:

কর্মচারী যাক = {
নামের প্রথম অংশ : 'জন' ,
নামের শেষাংশ : 'হরিণী' ,
বয়স : 3. 4
} ;

কনসোল লগ ( কর্মচারী পদ্ধতি ? . ( ) ?? 'ফাংশন বিদ্যমান নেই' ) ;

ডিফল্ট মান কিছু ফাংশন কল হতে পারে.

ঐচ্ছিক চেইনিং অত্যধিক ব্যবহার

কোডের পঠনযোগ্যতা এবং কমনীয়তা বাড়াতে ঐচ্ছিক চেইনিং চালু করা হয়েছিল। এটি সাবধানে ব্যবহার করা উচিত কারণ এর ফলে ত্রুটিগুলি নীরব হতে পারে৷ ঐচ্ছিক চেইনিং অপারেটরের অত্যধিক ব্যবহার আপনার কোডে সমস্যা সৃষ্টি করতে পারে।

উপসংহার

ঐচ্ছিক চেইনিং হল জাভাস্ক্রিপ্টের একটি সাম্প্রতিক যোগ করা বৈশিষ্ট্য যা গভীর নেস্টেড জাভাস্ক্রিপ্ট অবজেক্টের মধ্যে বৈশিষ্ট্য এবং পদ্ধতিগুলি অ্যাক্সেস করতে ব্যবহার করা যেতে পারে সেই পদ্ধতি এবং বৈশিষ্ট্যগুলির অস্তিত্বের জন্য ম্যানুয়াল চেক করার বিষয়ে চিন্তা না করে।