নন-এনামারেবল প্রপার্টি
অবজেক্টের সেসব প্রপার্টি যা Object.keys() বা for...in লুপ দিয়ে ইটারেট করার সময় দেখায় না, সেগুলোকে নন-এনামারেবল প্রপার্টি বলা হয়।
নন-এনামারেবল প্রপার্টি তৈরি করা
নন-এনামারেবল প্রপার্টি তৈরি করতে Object.defineProperty() মেথড ব্যবহার করতে হয়। এটি অবজেক্টে নন-এনামারেবল প্রপার্টি তৈরির スペシャル মেথড।
উদাহরণ
<html> <body>
<script>
var person = {
name: 'gopal'
};
person.age = '21';
person['country'] = 'India';
Object.defineProperty(person, 'salary', {
value: '80,000$',
enumerable: false
});
document.write(Object.keys(person));
</script>
</body> </html>
আউটপুট
name,age,country
ব্যাখ্যা
এখানে salary প্রপার্টিটি enumerable: false সেট করে তৈরি করা হয়েছে। ফলে Object.keys(person) কল করলে শুধু name, age, country দেখাচ্ছে, salary দেখাচ্ছে না। Object.defineProperty() দিয়ে রিড-অনলি প্রপার্টিও তৈরি করা যায় (writable: false সেট করে)। এনামারেবল করতে চাইলে enumerable: true সেট করুন।