在JavaScript中,「」表示空字串,我們可以使用null關鍵字來初始化字串為null值。如果我們沒有給任何變數賦值,它預設為未定義。
有時候,在處理字串時,我們需要檢查字串是否為空、未定義或為空值。例如,我們透過一個HTML表單從使用者那裡獲取詳細信息,而使用者可以在輸入欄位中新增一個空字串;我們需要驗證輸入欄位並向使用者顯示錯誤訊息。
在本教程中,我們將學習三種方法來檢查字串是否為空、null或未定義。
string.trim()方法允許我們從字串的開頭刪除空格。因此,我們可以從字串的開頭刪除字串。之後,我們可以檢查字串的長度是否為零,這意味著字串可以是空的、null的或未定義的。
使用者可以依照下列語法使用 string.trim() 方法和 string.length() 屬性來檢查空、未定義或 null 字串。
let string1 = " "; string1 = string1.trim(); if (string1.length == 0) { // string is empty }
在下面的範例中,我們建立了兩個不同的字串。一個是空的,另一個只包含空格。使用者可以在輸出中看到,我們的邏輯顯示兩個字串都是空的,因為第二個字串只包含空格。
<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>
我們可以使用Boolean建構子或雙重否定運算子(!!)將字串轉換為布林值。當我們將任何變數轉換為布林值時,它會將所有假值對應為false,其他值對應為true。在JavaScript中,空字串、null和undefined都是假值,因此當我們將其轉換為布林值時,Boolean()建構子總是會傳回false。
在下面的語法中,我們使用了Boolean()建構子將字串轉換為布林值,並檢查它是否為空。
let string3 = undefined; if (Boolean(string3) == false) { // string3 is either null, empty, or undefined }
我們已經在下面的範例中轉換了包含空值、null值和undefined值的三個字串。此外,我們還建立了isValid()函數,該函數以字串作為參數,並將字串轉換為布林值。然後,我們檢查從Boolean()建構函數傳回的字串的值是true還是false。
<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>
在上面的輸出中,使用者可以觀察到布林建構函數對於空、null和未定義的字串傳回false,並對於字串「Hello」傳回true。
嚴格相等運算子允許我們比較兩個變數的值,並且還比較變數的類型。在這裡,我們將比較我們的字串與“”,null和undefined。此外,我們將使用OR運算子將這三個條件一起使用在單一if條件中。
如果這三個條件中的任意一個成為真,那就表示字串無效。
使用者可以依照下列語法使用嚴格相等運算子來檢查字串是否為空、null或undefined。
if (str === "" || str === null || str === undefined) { // string is not valid } else { // string is valid }
在下面的範例中,isValid()函數包含if-else語句,用於檢查字串是否有效。如語法中所討論的,我們在if語句的條件中使用了OR運算符,同時檢查空字串、null和undefined字串的三個條件。
<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>
使用者學習了三種方法來檢查字串是否為空、未定義或為空值。從這三種方法中,最好的方法是第二種方法,它使用了Boolean()建構子。
然而,使用者可以使用Doble,Not(!!)運算符,它提供了簡單的語法,但不適合初學者。
以上是如何在JavaScript中檢查空/未定義/空字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!