Kaedah baharu untuk objek JavaScript: 1. "Object.is()", yang boleh digunakan untuk membandingkan sama ada dua nilai benar-benar sama 2. "Object.assign()", yang boleh digunakan untuk menggabungkan objek. Semua sifat terhitung objek sumber disalin ke objek sasaran.
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.
Kaedah baharu objek javascript
1. Object.is()
Dalam es6, untuk membandingkan sama ada dua nilai benar-benar sama, kita mempunyai tiga kaedah, menggunakan pengendali kesamaan '==', pengendali kesamaan ketat '===' atau kaedah Object.is(), tetapi yang pertama dua kaedah Semua mempunyai kelemahan dan tidak boleh digunakan dalam beberapa senario khas, tetapi Object.is() tidak boleh.
Object.is() pada dasarnya berkelakuan sama seperti operator '====',
tetapi Dua mata adalah berbeza:
(1) 0 tidak sama dengan -0
(2) NaN sama dengan dirinya
2. Object.assign()
(1) Object.assign() digunakan untuk menggabungkan objek, menyalin semua sifat terhitung objek sumber kepada Objek sasaran
(2) Parameter pertama kaedah Object.assign() ialah objek sasaran, dan parameter berikut adalah objek sumber.
Jika objek sasaran dan objek sumber mempunyai atribut dengan nama yang sama, atau objek berbilang sumber mempunyai atribut dengan nama yang sama, atribut kemudian akan menimpa atribut sebelumnya.
Anda boleh melihat bahawa b: 2 dalam dua sampul b: 1 dalam satu, dan c: 3 dalam tiga sampul c dalam dua : 2
(3) Jika terdapat hanya satu parameter, Object.assign() akan terus mengembalikan parameter
(4) Jika parameter bukan objek, ia akan ditukar menjadi objek dahulu dan kemudian dikembalikan.
Anda boleh melihat bahawa Object.assign() menukar nilai 5 menjadi objek Number dan mengembalikan
(5) undefined dan null tidak boleh ditukar menjadi Objek, jika anda menggunakannya sebagai parameter, ralat akan dilaporkan
Jika parameter bukan objek muncul dalam kedudukan objek sumber (iaitu, ia bukan parameter pertama), peraturan pemprosesan akan berbeza. Parameter ini akan ditukar menjadi objek dan akan dilangkau jika ia tidak boleh ditukar menjadi objek. Ini bermakna undefined dan null tidak akan melaporkan ralat jika ia bukan parameter pertama Demonstrasi adalah seperti berikut Strings dan nilai Boolean) tidak berada dalam parameter pertama (iaitu, parameter pertama), dan tiada ralat akan dilaporkan. . Walau bagaimanapun, kecuali rentetan akan disalin ke dalam objek sasaran dalam bentuk tatasusunan, nilai lain tidak akan memberi kesan.
Dalam kod di atas, v1 v2 v3 ialah rentetan, nilai Boolean dan nilai angka masing-masing. hanya rentetan digabungkan ke dalam objek sasaran ( (sebagai tatasusunan aksara), nilai angka dan boolean diabaikan. Ini kerana hanya objek pembalut rentetan menghasilkan sifat terhitung.
(6) Tukar nilai Boolean, nilai berangka dan rentetan masing-masing ke dalam objek pembungkusan yang sepadan Anda boleh melihat bahawa nilai asalnya semuanya pada atribut dalaman objek pembungkusan [[PrimitiveValue]]
🎜> Disalin. Hanya objek pembalut rentetan akan menghasilkan sifat literal yang terhitung, dan sifat tersebut akan disalin. Object.assign()
tutorial pembelajaran javascript]
Atas ialah kandungan terperinci Apakah kaedah baharu objek JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!