237 of 264 menu

Phương thức Object.assign

Phương thức Object.assign sao chép thuộc tính và giá trị của đối tượng nguồn, đồng thời trả về một đối tượng mới. Trong tham số đầu tiên của phương thức chúng ta chỉ định đối tượng đích, nơi sẽ sao chép vào, còn trong tham số thứ hai - chúng ta chỉ định các đối tượng cần sao chép.

Cú pháp

Object.assign(nơi sao chép vào, các đối tượng);

Ví dụ

Hãy lấy một đối tượng mới từ đối tượng nguồn:

let obj = {'a': 1, 'b': 2, 'c': 3}; let newObj = Object.assign({}, obj); console.log(newObj);

Kết quả thực thi mã:

{a: 1, b: 2, c: 3}

Ví dụ

Bây giờ hãy lấy một đối tượng mới từ nhiều đối tượng nguồn, bằng cách liệt kê chúng trong tham số và phân cách bằng dấu phẩy:

let obj1 = {'a': 1, 'b': 2}; let obj2 = {'c': 3, 'd': 4}; let newObj = Object.assign({}, obj1, obj2); console.log(newObj);

Sau khi thực thi mã, chúng ta sẽ thấy rằng hai đối tượng nguồn đã hợp nhất thành một đối tượng mới:

{a: 1, b: 2, c: 3, d: 4}

Ví dụ

Ngoài ra, phương thức Object.assign có thể được áp dụng để lấy một mảng mới, vì mảng về kiểu cũng thuộc loại đối tượng. Hãy tạo một mảng mới bằng cách sao chép các phần tử từ mảng nguồn:

let arr = [1, 2, 3, 4]; let newArr = Object.assign([], arr); console.log(newArr);

Kết quả thực thi mã:

[1, 2, 3, 4]

Ví dụ

Khi sử dụng phương thức Object.assign cần chú ý tuân thủ chính xác cú pháp. Ví dụ, nếu không thêm đối tượng đích vào tham số đầu tiên, mà chỉ để đối tượng cần sao chép, thì chính nó sẽ được trả về:

let obj = {1:'a', 2: 'b', 3: 'c'}; let newObj = Object.assign(obj); console.log(newObj === obj);

Kết quả thực thi mã:

true

Xem thêm

  • phương thức Object.keys,
    trả về một mảng chứa các thuộc tính của đối tượng
  • phương thức Object.values,
    trả về một mảng chứa các giá trị của đối tượng
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối