Rumah  >  Artikel  >  hujung hadapan web  >  javascript bermakna ia tidak wujud

javascript bermakna ia tidak wujud

WBOY
WBOYasal
2023-05-12 20:47:35426semak imbas

JavaScript ialah bahasa pengaturcaraan peringkat tinggi yang digunakan oleh ramai pengaturcara untuk membangunkan aplikasi web dan tapak web. Walaupun ia berkuasa, fleksibel dan mudah dipelajari, ia mempunyai beberapa batasan, salah satunya ialah ketidakupayaan untuk mewakili nilai yang tidak wujud.

Dalam JavaScript, terdapat dua nilai yang menunjukkan ketiadaan: null dan undefined. Mereka kelihatan serupa, tetapi sebenarnya mempunyai beberapa perbezaan.

null Nilai bermaksud pembolehubah atau ungkapan tidak mempunyai nilai atau objek. Ia adalah nilai khas yang bermaksud bahawa pembolehubah tidak menunjuk kepada sebarang nilai atau objek. Contohnya, jika anda mengisytiharkan pembolehubah untuk menyimpan nama seseorang, tetapi anda tidak tahu nama mereka, anda akan menetapkan pembolehubah itu kepada null. Nilai

undefined menunjukkan bahawa pembolehubah telah diisytiharkan tetapi belum diberikan nilai Ia juga boleh dikembalikan apabila menggunakan sifat dan kaedah yang tidak ditentukan pada objek. Yang pertama adalah kerana pembolehubah JavaScript adalah undefined secara lalai, dan yang kedua adalah kerana JavaScript membenarkan objek tersuai, membolehkan anda menambah sebarang sifat dan kaedah.

Walau bagaimanapun, kedua-dua kaedah mewakili nilai yang tidak wujud mempunyai beberapa kelemahan. Pertama, ia adalah pembolehubah berskop global dalam JS, yang bermaksud anda boleh menetapkan semula pembolehubah yang sesuai dengan menggunakan null atau undefined, yang berpotensi membawa kepada potensi pepijat dan ketidakkonsistenan.

Kedua, mereka tidak boleh mewakili nilai yang tidak wujud, mereka hanya boleh mewakili bahawa pembolehubah tidak menunjuk kepada sebarang nilai atau objek. Ini adalah perbezaan yang penting. Contohnya, jika anda mempunyai tatasusunan, tetapi ia tidak mempunyai sebarang elemen, anda tidak boleh menggunakan null atau undefined untuk mewakili situasi ini. Anda boleh menggunakan tatasusunan kosong, tetapi ini bukan penyelesaian yang baik kerana ia mewujudkan lebihan dan penggunaan memori yang tidak perlu.

Oleh itu, orang sering menggunakan helah lain dalam kod mereka untuk menunjukkan ketiadaan nilai. Teknik yang dipanggil "penilaian litar pintas" membolehkan anda menggunakan operator && dan || untuk menyemak sama ada nilai wujud. Jika ada, nilai ini dikembalikan, jika tidak nilai lalai dikembalikan. Contohnya, jika anda mempunyai beberapa data tetapi anda tidak pasti sama ada terdapat atribut yang dipanggil "umur" di dalamnya, anda boleh menggunakan operator && untuk menyemak:

const age = data.age && data.age;

Pernyataan ini akan menyemak data.age wujud, jika demikian ia ditugaskan kepada pembolehubah age, jika tidak undefined diperuntukkan (tetapi anda tidak boleh menggunakan null di sini, kerana kemudian null mungkin tersilap dianggap sebagai nilai sedia ada).

Helah lain ialah menggunakan "nilai parameter lalai", yang membolehkan anda menentukan nilai lalai untuk pembolehubah yang akan digunakan jika pembolehubah itu tidak wujud. Sebagai contoh:

function greet(name) {
  name = name || 'Stranger';
  console.log(`Hello, ${name}!`);
}

Parameter fungsi name ditetapkan kepada 'Stranger' secara lalai Jika parameter name tidak diluluskan dalam, atau dihantar dalam null atau undefined, maka <.> akan digunakan. 'Stranger'

Ringkasnya, walaupun JavaScript

dan null boleh mewakili nilai yang tidak wujud, penggunaannya datang dengan beberapa kelemahan dan pengehadan. Oleh itu, berhati-hati apabila menggunakan nilai ini dan cuba gunakan kaedah lain untuk menyatakan ketiadaan nilai. undefined

Atas ialah kandungan terperinci javascript bermakna ia tidak wujud. 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