ในขณะที่ดูรายการวิธีการของ underscorejs ฉันก็อดไม่ได้ที่จะสังเกตเห็นวิธีการที่ฉันจำไม่ได้ว่าอยู่ที่นั่น ก่อน: extendOwn
เอกสารประกอบสำหรับวิธีนี้ ระบุสิ่งต่อไปนี้:
extendOwn _.extendOwn(destination, *sources) นามแฝง: มอบหมาย
ชอบขยาย แต่คัดลอกเฉพาะคุณสมบัติ own ไปยังวัตถุปลายทางเท่านั้น
ฉันเข้าใจวิธีใช้ .extend() และทำหน้าที่อะไร... แต่ตลอดชีวิตของ ฉัน ฉันไม่เข้าใจว่ามันแตกต่างจาก .extendOwn() อย่างไร
ฉันลองใช้ .extend() จากนั้นจึงใช้ .extendOwn() เพื่อขยายวัตถุบางส่วนเพื่อดูว่าอาจมีบางสิ่งที่ชัดเจนเกิดขึ้นหรือไม่ แต่ดูเหมือนว่าทั้งสองวัตถุจะให้ผลลัพธ์เดียวกัน
var a = {
foo: false
};
var b = {
bar: true
};
// This will produce { foo: false, bar: true }; ..just like _.extend() would =\
_.extendOwn( a, b );
ความเข้าใจอย่างลึกซึ้งเกี่ยวกับความลึกลับนี้จะได้รับการชื่นชมอย่างมาก!