Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menyemak Pembolehubah Null atau Tidak Ditakrifkan dengan Amanah dalam JavaScript?

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

Susan Sarandon
Susan Sarandonasal
2024-10-31 17:08:02932semak imbas

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>

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>

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>

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

Ini boleh ditulis semula menggunakan operator gabungan Nullish:

<code class="javascript">a.speed ??= 42;</code>

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!

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