Bagaimanakah Saya Boleh Menyemak Pembolehubah Null atau Tidak Ditakrifkan dengan Amanah dalam JavaScript?

Susan Sarandon
Lepaskan: 2024-10-31 17:08:02
asal
852 orang telah melayarinya

How Can I Reliably Check for Null or Undefined Variables in JavaScript?

Meneroka Pengesanan Pembolehubah Null dan Tidak Ditakrif yang Boleh Dipercayai dalam JavaScript

Dalam JavaScript, memastikan sama ada pembolehubah ditakrifkan atau mempunyai nilai boleh menjadi berulang tugasan. Ramai pembangun menggunakan corak berikut:

<code class="javascript">if (typeof(some_variable) != 'undefined' && some_variable != null) {
    // Do something with some_variable
}</code>
Salin selepas log masuk

Walaupun kaedah ini boleh dipercayai, kaedah ini boleh digunakan secara bertele-tele. Sesetengah sumber mencadangkan bahawa hanya menyemak sama ada pembolehubah wujud mempunyai kesan yang sama:

<code class="javascript">if (some_variable) {
    // Do something with some_variable
}</code>
Salin selepas log masuk

Walau bagaimanapun, persekitaran pembangunan tertentu, seperti Firebug, melaporkan ralat apabila some_variable tidak ditentukan dengan pendekatan kedua.

Cara yang lebih cekap untuk menyemak pembolehubah nol atau tidak ditentukan adalah dengan menggunakan sintaks berikut:

<code class="javascript">if (some_variable == null) {
    // some_variable is either null or undefined
}</code>
Salin selepas log masuk

Alternatif ini bersamaan dengan versi verbose dan turut disokong oleh alatan pembangunan seperti Firebug.

Nota:

  1. Pembolehubah mesti diisytiharkan sebelum menggunakan teknik trengkas ini; jika tidak, ReferenceError akan berlaku. Walau bagaimanapun, ia boleh digunakan dengan selamat untuk argumen pilihan atau semakan sifat objek.
  2. Varian berbeza tetapi tidak setara bagi semakan ini termasuk pembolehubah yang 0, NaN, palsu atau rentetan kosong:
<code class="javascript">if (!some_variable) {
    // some_variable is either null, undefined, 0, NaN, false, or an empty string
}</code>
Salin selepas log masuk
  1. Menggunakan semakan kesaksamaan yang ketat (===) biasanya lebih diutamakan daripada ==. Walau bagaimanapun, perbandingan == null yang disyorkan adalah pengecualian kepada peraturan ini.

Kemas kini 2021-03:

Pelayar moden menyokong pengendali penggabungan Nullish (? ?) dan Tugasan batal logik (??=), menyediakan cara ringkas untuk menetapkan nilai lalai jika pembolehubah adalah batal atau tidak ditentukan:

<code class="javascript">if (a.speed == null) {
    // Set default if null or undefined
    a.speed = 42;
}</code>
Salin selepas log masuk

Ini boleh ditulis semula menggunakan operator gabungan Nullish:

<code class="javascript">a.speed ??= 42;</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyemak Pembolehubah Null atau Tidak Ditakrifkan dengan Amanah dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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!