Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >javascript bermakna ia tidak wujud
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'
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!