Cho em hỏi chút điểm khác nhau giữa _.assign / _.extend / _.merge trong Lodash là gì vậy?
Hiện tại em mới cài lodash của một project nhỏ nhỏ. Em thấy lodash có cung cấp các function assign, merge, extend.
Cách dùng của các function này đều giống nhau và đều ra một kết quả chung. Vậy thực chất điểm khác biệt của 3 hàm này là gì vậy ạ?
Mọi người giải thích giúp em với. (huhu)
1 CÂU TRẢ LỜI
_.extend là alias của _.assign, 2 hàm này giống nhau. Điểm khác nhau là _.assign và _.extend sẽ overwrite giá trị undefined, còn _.merge thì không.
_.assign      ({}, { a: 'a'  }, { a: undefined }) // => { a: undefined }
_.merge       ({}, { a: 'a'  }, { a: undefined }) // => { a: "a" }
Nguồn: https://stackoverflow.com/questions/19965844/lodash-difference-between-extend-assign-and-merge
(y)
(like)
Mình đọc trên documentation của Lodash thì _.extend là alias của _.assignIn; _.assign và _.assignInchỉ khác nhau một chút ở việc lựa chọn property của source object. _.assignIn giống như việc dùng for...in với object vậy 