ทรัพย์สินที่ไม่สามารถนับได้
ออบเจ็กต์สามารถมีคุณสมบัติที่ไม่แสดงขึ้นเมื่อมีการทำซ้ำผ่านออบเจกต์นั้น ๆ โดยใช้ 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>