Các objects Javascript mở rộng (phần 2)

Các objects Javascript mở rộng (tiếp tục)

Một lí do để gán các đặc tính từ một object vào cái khác là khi bạn có một object cái định nghĩa các giá trị mặc
định cho nhiều đặc tính và bạn muốn copy các đặc tính mặc định đó vào object khác nếu một đặc tính theo tên đó
đã không tồn tại trong object đó. Sử dụng Object.assign() về mặt bản địa sẽ không làm cái bạn muốn:

Object.assign(o, defaults); // overwrites everything in o with defaults

Thay vào đó, cái bạn có thể làm là tạo một object mới, copy các mặc định vào nó, và sau đó ghi đè các mặc định đó
với các đặc tính trong o:

o = Object.assign({}, defaults, o);

Chúng ta sẽ thấy trong các học phần sau cái bạn cũng có thể bộc lộ hoạt động ghi đè và copy object này sử dụng
toán tử spread … giống cái này:

o = {…defaults, …o};

Chúng ta cũng có thể tránh phí tổn của tạo object thêm và copy bằng cách viết một phiên bản của Object.assign()
cái copy các đặc tính chỉ nếu chúng bị bỏ qua:
code 3
Nó là theo đường thẳng để viết các tiện ích thao tác xử lí đặc tính khác giống như hàm merge(). Một hàm restrict()
có thể xóa các đặc tính của một object nếu chúng không xuất hiện trong object mẫu khác, ví dụ. Hay một hàm
subtract() có thể loại bỏ tất cả các đặc tính của một object từ object khác.

Chia sẻ