जावास्क्रिप्ट ऑब्जेक्ट में कोई कुंजी मौजूद है या नहीं, यह पता लगाने के कुछ तरीके हैं।
मान लें कि हमारे पास एक 'कर्मचारी' ऑब्जेक्ट है जैसा कि नीचे दिखाया गया है।
var employee = { name: "Ranjan", age: 25 }
अब हमें यह जांचना होगा कि कर्मचारी वस्तु में 'नाम' संपत्ति मौजूद है या नहीं।
1) 'इन' ऑपरेटर
हम इसके गुणों की जांच के लिए ऑब्जेक्ट पर 'इन' ऑपरेटर का उपयोग कर सकते हैं। 'इन' ऑपरेटर विरासत में मिली संपत्ति के बारे में भी देखता है अगर उसे वस्तु का कोई वास्तविक गुण नहीं मिलता है।
निम्नलिखित उदाहरण में जब 'toString' की जाँच की जाती है कि मौजूद है या नहीं, तो 'इन' ऑपरेटर वस्तु के गुणों की जाँच करता है। एक बार जब इसकी अनुपस्थिति की पुष्टि हो जाती है, तो यह वस्तु के मूल गुणों पर आ जाता है। चूंकि, 'toString' एक मूल गुण है, यह आउटपुट में दिखाए गए अनुसार 'सत्य' प्रदर्शित करता है।
उदाहरण
<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
2) hasOwnProperty()
यह विधि वस्तु के माध्यम से केवल वास्तविक गुणों के लिए जांच करती है, लेकिन किसी भी प्रकार की विरासत में मिली संपत्तियों के लिए नहीं। यदि वास्तविक गुण हैं, तो यह विधि उनकी उपलब्धता के आधार पर सही या गलत प्रदर्शित करती है।
निम्नलिखित उदाहरण में हमने विरासत में मिली संपत्तियों जैसे 'toString' की भी खोज की, ताकि यह आउटपुट में दिखाए अनुसार गलत प्रदर्शित हो।
उदाहरण
<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