Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Công dụng của Object.assign() trong JavaScript

Object.assign(target, ...sources) copy **own enumerable properties** từ source(s) vào target. Trả về target đã mutate.

Ví dụ

const targetObj = { a: 1, b: 2 };
const sourceObj = { b: 4, c: 5 };
const returnedTarget = Object.assign(targetObj, sourceObj);

console.log(targetObj);      // { a: 1, b: 4, c: 5 }
console.log(returnedTarget); // { a: 1, b: 4, c: 5 }
console.log(returnedTarget === targetObj); // true
console.log(sourceObj);      // { b: 4, c: 5 } (giữ nguyên)

Đặc điểm

  • Shallow copy (object lồng nhau shared reference).
  • Ghi đè property trùng tên (source sau thắng).
  • Invoke getter trên source, setter trên target.
  • Source không bị mutate.

Dùng cho: Merge config, clone shallow, default options pattern.