ทรัพย์สินที่ไม่สามารถนับได้
ออบเจ็กต์สามารถมีคุณสมบัติที่ไม่แสดงขึ้นเมื่อมีการทำซ้ำผ่านออบเจกต์นั้น ๆ โดยใช้ Object.keys() หรือ สำหรับ...ใน loop คุณสมบัติประเภทนี้เรียกว่า ไม่สามารถนับได้ คุณสมบัติ
การสร้างคุณสมบัติที่ไม่สามารถนับได้
ในการสร้างคุณสมบัติที่ไม่สามารถระบุได้ เราต้องใช้ Object.defineProperty() กระบวนการ. นี่เป็นวิธีพิเศษในการสร้างนับไม่ได้ คุณสมบัติในวัตถุ
ในตัวอย่างต่อไปนี้ คุณสมบัติสามอย่าง เช่น ชื่อ อายุ และประเทศ ถูกสร้างขึ้นตามปกติ และคุณสมบัติที่ชื่อ "เงินเดือน" ถูกสร้างขึ้นโดยใช้ Object.defineProperty( ) เมธอดและคีย์ที่ชื่อ enumerable ถูกกำหนดด้วย เท็จ . เมื่ออ็อบเจกต์ "บุคคล" ถูกทำซ้ำโดยใช้ Object.keys() คุณสมบัติเช่น ชื่อ อายุ และประเทศ จะแสดงขึ้นในขณะที่ "เงินเดือน" ของคุณสมบัติไม่สามารถแสดงได้ เนื่องจากทรัพย์สินเงินเดือนไม่สามารถแสดงได้จึงเรียกว่าทรัพย์สินที่ไม่สามารถนับได้ นี่เป็นวิธีสร้างคุณสมบัติที่ไม่สามารถนับได้
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>