Cara untuk Memeriksa Sama ada Kunci Wujud dalam Objek JavaScript

王林
Lepaskan: 2024-08-30 18:35:51
asal
419 orang telah melayarinya

Ways to Check If a Key Exists in a JavaScript Object

Semasa mengerjakan projek React anda, anda mungkin menghadapi situasi di mana anda perlu memberikan beberapa data daripada objek. Sebelum berbuat demikian, adalah penting untuk mengesahkan sama ada kunci tertentu terdapat dalam objek. Tetapi bagaimana anda menyemak sama ada kunci wujud dalam objek JavaScript? Jika anda tidak pasti, jangan risau—terdapat beberapa cara untuk melakukannya!

1. Menggunakan Operator dalam

Salah satu cara paling mudah untuk menyemak sama ada kunci wujud dalam objek JavaScript adalah dengan menggunakan operator dalam. Operator ini menyemak kedua-dua sifat sendiri dan sifat yang diwarisi melalui rantaian prototaip.

const car = { make: 'Toyota', model: 'Corolla', year: 2020 };

console.log('make' in car);  // true
console.log('color' in car); // false
Salin selepas log masuk

Kebaikan:

  • Mudah digunakan dan difahami.
  • Menyemak kedua-dua harta sendiri dan harta warisan.

Keburukan:

  • Mungkin kembali benar untuk sifat yang merupakan sebahagian daripada rantaian prototaip, yang kadangkala boleh membawa kepada hasil yang tidak dijangka.

2. Menggunakan hasOwnProperty()

Kaedah hasOwnProperty() ialah satu lagi cara popular untuk menyemak sama ada kunci wujud dalam objek JavaScript. Ia memastikan bahawa kunci adalah hak milik objek sendiri, bukan sesuatu yang diwarisi.

const car = { make: 'Toyota', model: 'Corolla', year: 2020 };

console.log(car.hasOwnProperty('make'));  // true
console.log(car.hasOwnProperty('toString')); // false
Salin selepas log masuk

Kebaikan:

  • Mengesahkan bahawa kunci adalah hak milik sendiri.
  • Mengelakkan positif palsu daripada harta warisan.

Keburukan:

  • Memerlukan panggilan kaedah, menjadikannya lebih verbose sedikit daripada operator dalam.

3. Menyemak undefined

Anda juga boleh menyemak sama ada kunci wujud dalam objek JavaScript dengan mengesahkan jika nilai sifat tidak ditentukan. Dalam JavaScript, mengakses kunci yang tidak wujud mengembalikan tidak ditentukan.

const car = { make: 'Toyota', model: 'Corolla', year: 2020 };

console.log(car.make !== undefined);  // true
console.log(car.color !== undefined); // false
Salin selepas log masuk

Kebaikan:

  • Mudah dan intuitif.
  • Berguna jika anda juga ingin menentukan sama ada nilai kunci tidak ditentukan.

Keburukan:

  • Tidak membezakan antara kunci yang tidak wujud dan kunci yang wujud tetapi mempunyai nilai yang tidak ditentukan.

4. Menggunakan Object.hasOwn()

Diperkenalkan dalam ECMAScript 2022, Object.hasOwn() menyediakan pendekatan yang lebih moden untuk menyemak sama ada kunci wujud dalam objek JavaScript. Ia serupa dengan hasOwnProperty(), tetapi dengan sintaks yang lebih ringkas dan kebolehpercayaan yang dipertingkatkan.

const car = { make: 'Toyota', model: 'Corolla', year: 2020 };

console.log(Object.hasOwn(car, 'make'));  // true
console.log(Object.hasOwn(car, 'color')); // false
Salin selepas log masuk

Kebaikan:

  • Sintaks moden dan lebih bersih.
  • Dipercayai walaupun objek mengatasi hasOwnProperty().

Keburukan:

  • Memerlukan ECMAScript 2022 atau lebih baru, jadi ia mungkin tidak disokong dalam semua persekitaran.

5. Menggunakan Object.keys() dan Array.includes()

Untuk pendekatan yang lebih berfungsi, anda boleh menukar kunci objek kepada tatasusunan dan menggunakan Array.includes() untuk menyemak sama ada kunci wujud dalam objek JavaScript.

const car = { make: 'Toyota', model: 'Corolla', year: 2020 };

console.log(Object.keys(car).includes('make'));  // true
console.log(Object.keys(car).includes('color')); // false
Salin selepas log masuk

Kebaikan:

  • Membolehkan semakan dan syarat yang rumit.
  • Berguna untuk senario di mana anda perlu bekerja dengan kekunci sebagai tatasusunan.

Keburukan:

  • Kurang cekap untuk objek besar kerana ia melibatkan mencipta pelbagai kunci.

Bila Menggunakan Setiap Kaedah

  • dalam Operator: Sesuai untuk semakan pantas di mana harta warisan boleh diterima.
  • hasOwnProperty(): Terbaik apabila anda perlu mengesahkan kunci itu adalah milik sendiri.
  • semakan tidak ditentukan: Berguna jika anda juga perlu menentukan sama ada nilai kunci tidak ditentukan.
  • Object.hasOwn(): Kaedah pilihan dalam JavaScript moden untuk menyemak sifat sendiri, jika disokong dalam persekitaran anda.
  • Object.keys() dan Array.includes(): Sesuai untuk keadaan yang lebih kompleks atau apabila bekerja dengan tatasusunan kunci.

Kesimpulan

Memahami cara memeriksa dengan cekap sama ada kunci wujud dalam objek JavaScript adalah penting untuk menulis kod JavaScript yang mantap. Setiap kaedah mempunyai kekuatannya sendiri dan sesuai dengan senario yang berbeza, jadi memilih kaedah yang betul bergantung pada keperluan khusus anda. Sama ada anda berurusan dengan kod moden atau lama, mengetahui teknik ini akan membantu anda mengendalikan objek dengan lebih berkesan dan mengelakkan perangkap biasa.

Untuk mengetahui lebih lanjut tentang Objek JavaScript semak ini.

Atas ialah kandungan terperinci Cara untuk Memeriksa Sama ada Kunci Wujud dalam Objek 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan