Objek JavaScript.assign ()

Kaedah JavaScript Object.assign () menyalin semua sifat sendiri objek yang diberikan untuk satu objek dan mengembalikannya.

Sintaks assign()kaedahnya adalah:

 Object.assign(target,… sources)

Yang assign()kaedah, iaitu kaedah yang statik, dipanggil menggunakan Objectnama kelas.

tetapkan () Parameter

The assign()Cara mengambil masa dalam:

  • target - Objek sasaran - apa yang harus digunakan sifat sumber, yang dikembalikan setelah ia diubah.
  • sumber - Objek sumber - objek yang mengandungi sifat yang ingin anda gunakan.

Nilai pulangan dari menetapkan ()

  • Mengembalikan objek sasaran.

Catatan: Properti dalam objek sasaran ditimpa oleh sifat dalam sumber jika mempunyai kunci yang sama.

Contoh 1: Menggunakan Object.assign () untuk mengklon & menggabungkan objek

 // cloning objects const obj = ( name: "Alan Turing", age: 120, ); let newObject = (); const copy = Object.assign(newObject, obj); // modifies the target object console.log(newObject); // returns the modified object console.log(copy); // merging objects const o1 = ( a: 1, b: 2, c: 3 ); const o2 = ( b: 12, c: 13 ); const o3 = ( c: 23 ); // Earlier source keys are overwritten by later sources const o4 = Object.assign((), o1, o2, o3); console.log(o4); // ( a: 1, b: 12, c: 23 )

Pengeluaran

 (nama: 'Alan Turing', umur: 120) (nama: 'Alan Turing', umur: 120) (a: 1, b: 12, c: 23)

Perhatikan di sini bahawa jika nilai sumber adalah rujukan ke objek, ia hanya menyalin nilai rujukan.

Juga, sifat sumber kemudian menimpa yang sebelumnya.

Contoh 2: Menggunakan Object.assign ()

 const obj = Object.create( ( a: 1 ), ( // a is on obj's prototype chain. b: ( value: 2, // b is a non-enumerable property. ), c: ( value: 3, enumerable: true, // c is an own enumerable property. ), ) ); let copy = Object.assign((), obj); console.log(copy); // ( c: 3 ) copy = Object.assign(copy, "abc", 100, null); console.log(copy); // ( '0': 'a', '1': 'b', '2': 'c', c: 3 )

Pengeluaran

 (c: 3) ('0': 'a', '1': 'b', '2': 'c', c: 3)

Seperti yang anda lihat, sifat pada rantai prototaip dan sifat yang tidak dapat dikira tidak dapat disalin.

Juga, primitif akan dibungkus ke objek, nol dan tidak ditentukan tidak diambil kira.

Oleh kerana hanya rentetan yang memiliki harta yang banyak, mereka dapat disalin ke objek sasaran.

Bacaan yang Disyorkan: Objek Javascript defineProperties ()

Artikel menarik...