9
เป็นไปได้หรือไม่ที่จะได้รับชื่อคุณสมบัติที่สืบทอดมาซึ่งไม่สามารถระบุได้ของวัตถุ?
ใน JavaScript เรามีสองสามวิธีในการรับคุณสมบัติของวัตถุขึ้นอยู่กับสิ่งที่เราต้องการได้รับ 1) Object.keys()ซึ่งส่งคืนคุณสมบัติที่นับได้ของอ็อบเจ็กต์ทั้งหมดเป็นของตัวเองวิธี ECMA5 2) for...inลูปซึ่งส่งคืนคุณสมบัติที่นับได้ทั้งหมดของอ็อบเจกต์ไม่ว่าจะเป็นคุณสมบัติของตัวเองหรือสืบทอดมาจากโซ่ต้นแบบ 3) Object.getOwnPropertyNames(obj)ซึ่งส่งคืนคุณสมบัติของตัวเองทั้งหมดของวัตถุแจกแจงได้หรือไม่ นอกจากนี้เรายังมีวิธีการเช่นhasOwnProperty(prop)ให้เราตรวจสอบว่าทรัพย์สินนั้นสืบทอดมาหรือเป็นของวัตถุนั้นจริงหรือไม่และpropertyIsEnumerable(prop)ตามที่ชื่อแนะนำช่วยให้เราตรวจสอบว่ามีการแจกแจงคุณสมบัติหรือไม่ ด้วยตัวเลือกทั้งหมดนี้ไม่มีทางที่จะได้รับคุณสมบัติที่ไม่สามารถระบุได้และไม่ใช่ของตัวเองซึ่งเป็นสิ่งที่ฉันต้องการทำ มีวิธีใดบ้างที่จะทำเช่นนี้? กล่าวอีกนัยหนึ่งฉันจะได้รับรายการคุณสมบัติที่ไม่สามารถนับได้ที่สืบทอดมาได้หรือไม่? ขอขอบคุณ.