Menguasai atau Operator dalam tiada JavaScript

Mary-Kate Olsen
Lepaskan: 2024-10-16 22:43:30
asal
780 orang telah melayarinya

Dominando o Operador in no JavaScript

Temui cara untuk Semak Sifat Objek

Jika anda memprogram dalam JavaScript, anda mungkin terjumpa situasi di mana anda perlu mengetahui sama ada sifat tertentu wujud dalam objek, dan di situlah operator masuk masuk. Saya akan menunjukkan kepada anda cara ia berfungsi, cara menggunakannya dan sebab ia boleh menjadi lebih cekap daripada cara lain untuk menyemak sifat pada objek.

Apakah dalam operator?

Pengendali dalam digunakan dalam JavaScript untuk menyemak sama ada sifat wujud pada objek. Perkara yang menarik ialah ia bukan sahaja menyemak sifat yang ditakrifkan secara langsung dalam objek, tetapi juga sifat yang diwarisi daripada prototaip.

Sintaksnya sangat mudah:

'propriedade' in objeto;
Salin selepas log masuk

Jika harta itu wujud, ia kembali benar dan jika ia tidak wujud, palsu. Nampak simple kan? Tetapi kegunaannya melangkaui pemeriksaan mudah. Adakah anda ingin melihat beberapa contoh?

Contoh 1: Pemilikan Langsung dalam Objek

Sebagai permulaan, mari lihat contoh asas menggunakan operator dalam untuk menyemak sifat langsung.

const carro = {
  marca: 'Toyota',
  ano: 2020
};

console.log('marca' in carro);  // true
console.log('modelo' in carro);  // false
Salin selepas log masuk

Di sini, kami mempunyai objek kereta dengan ciri jenama dan tahun. Apabila kita menggunakan 'jenama' dalam kereta, hasilnya adalah benar, kerana sifat jenama wujud secara langsung dalam objek. 'model' dalam carro mengembalikan palsu, kerana sifat ini belum ditentukan.

Semakan jenis ini bagus untuk mengelakkan ralat semasa cuba mengakses sifat yang tidak wujud. Pernah cuba mengakses harta yang tidak wujud dan memecahkan kod tersebut? saya sudah! ?

Contoh 2: Sifat Diwarisi daripada Prototaip

Sekarang, lihat bagaimana operator dalam juga mengesan sifat yang diwarisi daripada prototaip

const pessoa = {
  nome: 'Ana'
};

console.log('toString' in pessoa);  // true
Salin selepas log masuk

Dalam kes ini, objek orang tidak mempunyai sifat toString secara langsung, tetapi fungsi ini diwarisi daripada Object.prototype. Operator dalam boleh melihat ini dan mengembalikan benar.

Mengapa ini berguna?

Kadangkala anda mungkin ingin menyemak sama ada sebarang fungsi yang diwarisi tersedia dalam objek. Ini boleh menjimatkan anda dalam beberapa situasi yang lebih kompleks.

Contoh 3: Membandingkan dengan hasOwnProperty

Sekarang mari kita buat perbandingan dengan cara lain untuk menyemak sifat, kaedah hasOwnProperty. Ia hanya menyemak sama ada harta itu ditakrifkan secara langsung pada objek, mengabaikan yang diwarisi.

const pessoa = {
  nome: 'Ana'
};
console.log(pessoa.hasOwnProperty('toString'));  // false
console.log('toString' in pessoa);               // true
Salin selepas log masuk

Kaedah hasOwnProperty mengembalikan palsu untuk toString, kerana sifat ini tidak langsung pada objek orang. Sementara itu, operator dalam mengembalikan benar, kerana ia juga mempertimbangkan harta warisan.

Bila hendak menggunakan ine bila hendak menggunakan hasOwnProperty?

Jawapannya paling banyak diperkatakan apabila bertanyakan apa-apa kepada pembangun kanan, ia bergantung.

  • Gunakan dalam jika anda ingin menyemak mana-mana harta, sama ada langsung atau warisan.
  • Gunakan hasOwnProperty jika anda perlu memastikan bahawa harta itu ditakrifkan secara langsung pada objek, mengabaikan sifat yang diwarisi daripada prototaip. Operator in adalah lebih praktikal apabila anda tidak perlu risau tentang asal usul harta itu, tetapi kedua-duanya mempunyai tempat di taman permainan jadi anda hanya perlu tahu di tempat mana dan untuk tujuan apa anda memerlukannya.

Atas ialah kandungan terperinci Menguasai atau Operator dalam tiada JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!