জাভাস্ক্রিপ্ট অবজেক্টে কোনো কী আছে কিনা জানার কিছু উপায় রয়েছে।
মান লক্ষ করুন, আমাদের নিচের মতো একটি 'employee' অবজেক্ট রয়েছে।
var employee = { name: "Ranjan", age: 25 }এখন আমরা চেক করব 'name' প্রোপার্টিটি employee অবজেক্টে আছে কিনা।
১) 'in' অপারেটর
অবজেক্টের প্রোপার্টি চেক করতে 'in' অপারেটর ব্যবহার করা যায়। 'in' অপারেটর অবজেক্টের নিজস্ব প্রোপার্টি না পেলে ইনহেরিটেড প্রোপার্টিও চেক করে।
নিচের উদাহরণে 'toString' চেক করলে, 'in' অপারেটর অবজেক্টের প্রোপার্টিগুলো খুঁজে না পেলে বেস প্রোপার্টিতে যায়। যেহেতু 'toString' একটি বেস প্রোপার্টি, তাই আউটপুট হিসেবে true দেখায়।
উদাহরণ
<html> <body> <script> var employee = { name: "Ranjan", age: 25 } document.write("name" in employee); document.write("<br>"); document.write("salary" in employee); document.write("<br>"); document.write("toString" in employee); </script> </body> </html>আউটপুট
true false true
২) hasOwnProperty()
এই মেথড শুধু অবজেক্টের নিজস্ব (actual) প্রোপার্টিগুলো চেক করে, ইনহেরিটেড প্রোপার্টি চেক করে না। নিজস্ব প্রোপার্টি থাকলে সেটির উপস্থিতি অনুযায়ী true বা false রিটার্ন করে।
নিচের উদাহরণে ইনহেরিটেড প্রোপার্টি 'toString' খুঁজলে false দেখায় কারণ এটি অবজেক্টের নিজস্ব প্রোপার্টি নয়।
উদাহরণ
<html> <body> <script> var employee = { name: "Ranjan", age: 25 } document.write(employee.hasOwnProperty('toString')); document.write("<br>"); document.write(employee.hasOwnProperty('name')); document.write("<br>"); document.write(employee.hasOwnProperty('salary')); </script> </body> </html>আউটপুট
false true false