คำถามติดแท็ก hasownproperty

4
เหตุใดจึงใช้ Object.prototype.hasOwnProperty.call (myObj, prop) แทน myObj.hasOwnProperty (prop)
ถ้าฉันเข้าใจอย่างถูกต้องแต่ละวัตถุใน JavaScript จะสืบทอดมาจาก Object ต้นแบบซึ่งหมายความว่าแต่ละวัตถุใน JavaScript สามารถเข้าถึงฟังก์ชัน hasOwnProperty ผ่านสายโซ่ต้นแบบได้ ในขณะที่อ่านซอร์สโค้ดของRequireJSฉันสะดุดกับฟังก์ชันนี้: function hasProp(obj, prop) { return hasOwn.call(obj, prop); } hasOwnObject.prototype.hasOwnPropertyมีการอ้างอิงถึง มีความแตกต่างในทางปฏิบัติในการเขียนฟังก์ชันนี้เป็น function hasProp(obj, prop) { return obj.hasOwnProperty(prop); } และเนื่องจากเราอยู่ที่นั่นทำไมเราถึงกำหนดฟังก์ชันนี้เลย? เป็นเพียงคำถามเกี่ยวกับทางลัดและการแคชการเข้าถึงคุณสมบัติในเครื่องเพื่อเพิ่มประสิทธิภาพการทำงาน (เล็กน้อย) หรือฉันพลาดกรณีใด ๆ ที่อาจใช้ hasOwnProperty กับวัตถุที่ไม่มีวิธีนี้หรือไม่?

9
คุณสมบัติใน hasOwnProperty ใน JavaScript คืออะไร?
พิจารณา: if (someVar.hasOwnProperty('someProperty') ) { // Do something(); } else { // Do somethingElse(); } การใช้งานที่ถูกต้อง / คำอธิบายhasOwnProperty('someProperty')คืออะไร? ทำไมเราไม่สามารถใช้someVar.somePropertyเพื่อตรวจสอบว่าวัตถุsomeVarมีคุณสมบัติที่มีชื่อsomePropertyหรือไม่? ทรัพย์สินในกรณีนี้คืออะไร? JavaScript ตรวจสอบคุณสมบัติอะไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.