Object.assign(target, ...sources) copy các thuộc tính enumerable own properties từ source objects vào target object.
Ví dụ
var source = {
compute: x => x + 1000
};
// Shallow copy
var copied = Object.assign({}, source);
console.log("Kết quả:", copied.compute(1000)); // 2000
Cách chạy
node demo.js
Kết quả
Kết quả: 2000
Lưu ý quan trọng: Object.assign() là **shallow copy** (copy 1 cấp). Object lồng nhau vẫn chia sẻ tham chiếu:
var obj = { a: 1, nested: { b: 2 } };
var copy = Object.assign({}, obj);
copy.nested.b = 99;
console.log(obj.nested.b); // 99 - object gốc bị ảnh hưởng!
Deep clone: Dùng JSON.parse(JSON.stringify(obj)) hoặc structuredClone(obj) (modern).