Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Apakah kaedah baharu objek JavaScript?

Apakah kaedah baharu objek JavaScript?

青灯夜游
青灯夜游asal
2022-01-12 14:03:403492semak imbas

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.

Apakah kaedah baharu objek JavaScript?

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()

Atribut yang disalin oleh Object.assign() adalah terhad dan hanya objek sumber sahaja disalin. Sifatnya sendiri (sifat yang diwarisi tidak disalin),

juga tidak menyalin sifat yang tidak boleh dikira (boleh dikira: palsu).

[Cadangan berkaitan:

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn