_.has ফাংশন কি?
_.has হলো Underscore.js এর একটি ইউটিলিটি ফাংশন, যা একটি অবজেক্টে নির্দিষ্ট প্রপার্টি বা কী আছে কিনা তা পরীক্ষা করতে ব্যবহৃত হয়। এটি একটি বুলিয়ান (Boolean) মান ফেরত দেয়, অর্থাৎ, যদি প্রপার্টিটি অবজেক্টে থাকে, তবে এটি true ফেরত দিবে, আর যদি না থাকে তবে false ফেরত দিবে।
এটি সাধারণত ব্যবহার করা হয় যখন আপনি নিশ্চিত হতে চান যে কোনও অবজেক্টে নির্দিষ্ট প্রপার্টি উপস্থিত আছে কিনা, যেমন ডেটা ভ্যালিডেশন বা ডাইনামিক প্রপার্টি চেক করার সময়।
ব্যবহার:
_.has(object, key)
এখানে:
object: অবজেক্টটি, যেখানে আপনি প্রপার্টি চেক করতে চান।key: চেক করা প্রপার্টি বা কী, যা আপনি দেখতে চান অবজেক্টে আছে কিনা।
আউটপুট:
true: যদি প্রপার্টি অবজেক্টে উপস্থিত থাকে।false: যদি প্রপার্টি অবজেক্টে উপস্থিত না থাকে।
_.has ফাংশনের উদাহরণ
- অবজেক্টে প্রপার্টি চেক করা
const user = {
name: 'John Doe',
age: 30,
email: 'john.doe@example.com'
};
console.log(_.has(user, 'name')); // আউটপুট: true
console.log(_.has(user, 'address')); // আউটপুট: false
এখানে, _.has(user, 'name') চেক করবে যে user অবজেক্টে name প্রপার্টি আছে কিনা, এবং _.has(user, 'address') চেক করবে address প্রপার্টি রয়েছে কিনা। প্রথমটি true ফেরত দিবে কারণ name প্রপার্টি রয়েছে, এবং দ্বিতীয়টি false ফেরত দিবে কারণ address প্রপার্টি নেই।
- নেস্টেড অবজেক্টে প্রপার্টি চেক করা
_.has ফাংশনটি নেস্টেড অবজেক্ট বা অবজেক্টের ভেতর থাকা অবজেক্টগুলিতেও কাজ করে। আপনি যদি নেস্টেড প্রপার্টি চেক করতে চান, তবে শুধু সেই প্রপার্টি বা কীটি নির্দিষ্ট করুন।
const employee = {
name: 'Jane Smith',
position: 'Developer',
contact: {
phone: '123-456-7890',
email: 'jane.smith@example.com'
}
};
console.log(_.has(employee, 'contact.phone')); // আউটপুট: true
console.log(_.has(employee, 'contact.address')); // আউটপুট: false
এখানে, _.has(employee, 'contact.phone') চেক করবে employee অবজেক্টের মধ্যে contact অবজেক্টে phone প্রপার্টি রয়েছে কিনা, এবং এটি true ফেরত দিবে। অন্যদিকে, _.has(employee, 'contact.address') চেক করবে contact অবজেক্টে address প্রপার্টি রয়েছে কিনা, এবং এটি false ফেরত দিবে।
- অ্যারে থেকে প্রপার্টি চেক করা
_.has ফাংশনটি অ্যারে এর ভিতরেও কাজ করে, বিশেষত যদি অ্যারে অবজেক্ট ধারণ করে থাকে।
const users = [
{ name: 'John', age: 25 },
{ name: 'Alice', age: 30 }
];
console.log(_.has(users[0], 'name')); // আউটপুট: true
console.log(_.has(users[1], 'email')); // আউটপুট: false
এখানে, _.has(users[0], 'name') চেক করবে প্রথম অবজেক্টে name প্রপার্টি রয়েছে কিনা, এবং _.has(users[1], 'email') চেক করবে দ্বিতীয় অবজেক্টে email প্রপার্টি রয়েছে কিনা, কিন্তু এটি false ফেরত দিবে কারণ email প্রপার্টি সেখানে নেই।
_.has ফাংশনের সুবিধা
- নির্ভরযোগ্য প্রপার্টি চেক:
_.hasফাংশনটি সরাসরি ডট নোটেশন বা ব্র্যাকেট নোটেশন ব্যবহার করার চেয়ে আরো নিরাপদ এবং নির্ভরযোগ্য প্রপার্টি চেক করতে সহায়তা করে, কারণ এটি প্রপার্টির উপস্থিতি চেক করে, এবং যদি এটিundefinedহয় তবুও ত্রুটি উৎপন্ন হবে না। - নেস্টেড অবজেক্টের জন্য সুবিধাজনক: আপনি সহজে নেস্টেড অবজেক্টের মধ্যে কোনো নির্দিষ্ট প্রপার্টি চেক করতে পারেন, যা সাধারণ JavaScript কোডের মাধ্যমে কঠিন হতে পারে।
- ডেটা ভ্যালিডেশন: ডেটা ভ্যালিডেশনের ক্ষেত্রে
_.hasখুবই কার্যকরী, যেমন ফর্ম ডেটা বা API রেসপন্স চেক করার সময়। এটি নিশ্চিত করতে সহায়তা করে যে নির্দিষ্ট প্রপার্টি উপস্থিত আছে কিনা।
সারাংশ
_.has ফাংশনটি Underscore.js এর একটি শক্তিশালী ইউটিলিটি ফাংশন যা কোনো অবজেক্টে নির্দিষ্ট প্রপার্টি উপস্থিত আছে কিনা তা পরীক্ষা করতে ব্যবহৃত হয়। এটি সহজে এবং কার্যকরভাবে অবজেক্টের প্রপার্টি চেক করার জন্য সাহায্য করে, বিশেষ করে নেস্টেড অবজেক্ট এবং অ্যারে ম্যানিপুলেশনের ক্ষেত্রে।
Read more