Dalam JavaScript, "" mewakili rentetan kosong dan kita boleh menggunakan kata kunci nol untuk memulakan rentetan kepada nilai nol. Jika kita tidak memberikan nilai kepada mana-mana pembolehubah, ia akan menjadi lalai kepada tidak ditentukan.
Kadangkala, semasa memproses rentetan, kita perlu menyemak sama ada rentetan itu kosong, tidak ditentukan atau mempunyai nilai nol. Sebagai contoh, kami mendapat butiran daripada pengguna melalui borang HTML, dan pengguna boleh menambah rentetan kosong dalam medan input kami perlu mengesahkan medan input dan memaparkan mesej ralat kepada pengguna.
Dalam tutorial ini, kita akan mempelajari tiga kaedah untuk menyemak sama ada rentetan kosong, batal atau tidak ditentukan.
string.trim() membolehkan kami mengalih keluar ruang dari permulaan rentetan. Jadi kita boleh mengeluarkan rentetan dari permulaan rentetan. Selepas itu, kita boleh menyemak sama ada panjang rentetan adalah sifar, yang bermaksud rentetan itu boleh kosong, batal atau tidak ditentukan.
Pengguna boleh menggunakan kaedah string.trim() dan sifat string.length() mengikut sintaks berikut untuk menyemak rentetan kosong, tidak ditentukan atau null.
let string1 = " "; string1 = string1.trim(); if (string1.length == 0) { // string is empty }
Dalam contoh di bawah, kami telah mencipta dua rentetan berbeza. Satu kosong dan satu lagi hanya mengandungi ruang. Pengguna boleh melihat dalam output bahawa logik kami menunjukkan bahawa kedua-dua rentetan kosong kerana rentetan kedua hanya mengandungi ruang.
<html> <body> <h3> Using the<i> string.trim() method and string.length() </i> property to check whether a string is null, undefined, or empty. </h3> <p id = "output"> </p> <script> let output = document.getElementById("output"); let string1 = ""; let string2 = " "; string1 = string1.trim(); string2 = string2.trim(); if (string1.length == 0) { output.innerHTML += "The string1 is empty! </br>"; } if (string2.length == 0) { output.innerHTML += "The string2 is empty! </br>"; } </script> </body> </html>
Kami boleh menukar rentetan kepada boolean menggunakan pembina Boolean atau pengendali penolakan berganda (!!). Apabila kita menukar sebarang pembolehubah kepada boolean, ia memetakan semua nilai palsu kepada nilai palsu dan nilai lain kepada benar. Dalam JavaScript, rentetan kosong, null dan undefined adalah semua nilai palsu, jadi apabila kita menukarnya kepada nilai boolean, pembina Boolean() sentiasa mengembalikan palsu.
Dalam sintaks di bawah, kami telah menggunakan pembina Boolean() untuk menukar rentetan kepada nilai boolean dan menyemak sama ada ia kosong.
let string3 = undefined; if (Boolean(string3) == false) { // string3 is either null, empty, or undefined }
Kami telah menukar tiga rentetan yang mengandungi nilai null, null dan undefined dalam contoh di bawah. Selain itu, kami telah mencipta fungsi isValid() yang mengambil rentetan sebagai parameter dan menukar rentetan kepada nilai boolean. Kami kemudian menyemak sama ada nilai rentetan yang dikembalikan daripada pembina Boolean() adalah benar atau palsu.
<html> <body> <h3> Converting the<i> string to boolean </i> to check whether a string is null, undefined, or empty. </h3> <p id = "output"> </p> <script> let output = document.getElementById("output"); let str1 = ""; let str2 = null; let str3 = undefined; function isValid(str) { if (Boolean(str)) { output.innerHTML += "The " + str + " is valid <br/>"; } else { output.innerHTML += "The " + str + " is not valid <br/>"; } } isValid(str1); isValid(str2); isValid(str3); isValid("Hello"); </script> </body> </html>
Dalam output di atas, pengguna boleh melihat bahawa pembina boolean mengembalikan palsu untuk rentetan kosong, batal dan tidak ditentukan dan mengembalikan benar untuk rentetan "Hello".
Pengendali kesaksamaan yang ketat membolehkan kami membandingkan nilai dua pembolehubah dan juga membandingkan jenis pembolehubah. Di sini kita akan membandingkan rentetan kita dengan "", null dan undefined. Tambahan pula, kami akan menggunakan ketiga-tiga syarat ini bersama-sama dalam satu syarat jika menggunakan operator OR.
Jika mana-mana daripada tiga syarat ini menjadi benar, ini bermakna rentetan itu tidak sah.
Pengguna boleh menggunakan pengendali kesaksamaan yang ketat mengikut sintaks berikut untuk menyemak sama ada rentetan kosong, batal atau tidak ditentukan.
if (str === "" || str === null || str === undefined) { // string is not valid } else { // string is valid }
Dalam contoh di bawah, fungsi isValid() mengandungi pernyataan if-else untuk menyemak sama ada rentetan itu sah. Seperti yang dibincangkan dalam sintaks, kami telah menggunakan operator OR dalam keadaan pernyataan if untuk menyemak tiga syarat rentetan kosong, rentetan nol dan tidak ditentukan secara serentak.
<html> <body> <h3> Using the<i> strict equality operator </i> to check whether string is null, undefined or empty.</h3> <p id = "output"> </p> <script> let output = document.getElementById("output"); function isValid(str) { if (str === "" || str === null || str === undefined) { output.innerHTML += "The " + str + " is not valid <br/>"; } else { output.innerHTML += "The " + str + " is valid <br/>"; } } isValid(null); isValid(undefined); isValid("TutorialsPoint"); </script> </body> </html>
Pengguna mempelajari tiga cara untuk menyemak sama ada rentetan kosong, tidak ditentukan atau mempunyai nilai nol. Daripada ketiga-tiga kaedah ini, kaedah terbaik ialah kaedah kedua, yang menggunakan pembina Boolean().
Walau bagaimanapun, pengguna boleh menggunakan pengendali Doble, Not(!!), yang menyediakan sintaks mudah tetapi tidak sesuai untuk pemula.
Atas ialah kandungan terperinci Bagaimana untuk menyemak rentetan null/undefined/kosong dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!