Trong khi đi qua danh sách các phương pháp underscorejs 's, tôi không thể không chú ý tới một phương pháp mà tôi không nhớ là có trước đây: extendOwnunderscorejs - sự khác biệt giữa extendOwn vs extend là gì?
Các documentation for this method nói như sau:
extendOwn _.extendOwn (đích, * nguồn) Bí danh: gán
Giống như gia hạn, nhưng chỉ có bản sao sở hữu thuộc tính đối tượng đích.
Tôi hiểu cách .extend() được sử dụng và những gì nó ... nhưng đối với cuộc sống của tôi tôi không thể hiểu nó khác với .extendOwn().
Tôi đã thử sử dụng .extend() và sau đó .extendOwn() để mở rộng một vài đối tượng chỉ để xem liệu có thể có điều gì đó rõ ràng sẽ xảy ra - nhưng dường như cả hai đều cho ra kết quả tương tự.
var a = {
foo: false
};
var b = {
bar: true
};
// This will produce { foo: false, bar: true }; ..just like _.extend() would =\
_.extendOwn(a, b);
Bất kỳ thông tin chi tiết nào về bí ẩn này sẽ được đánh giá cao!
tôi không có - đó là một ý tưởng tốt mặc dù nhờ –
heh, vì vậy tôi chỉ cần đọc các nguồn. Điều thú vị là nó sẽ sử dụng các _.keys và _.allKeys - lần lượt sử dụng các khóa khác nhau và sử dụng khóa sau: cho (var key in obj) nếu các phím (_.has (obj, key)). đẩy (khóa); nơi người khác thì không. dunno - dường như vẫn còn một chút bí ẩn đối với tôi tại sao extendOwn thậm chí còn cần thiết. –