JavaScript 中判斷變量是否為空是我們開發(fā)中的常見需求,對于新手來說可能會出現(xiàn)一些迷惑,因為在 JavaScript 中,沒有空類型的概念,所以我們需要使用其他方法來判斷變量是否為空。
首先,我們需要知道一個重要的概念——"Falsy"值。在 JavaScript 中,以下 6 種值被認為是 Falsy 值:
false null undefined '' 0 NaN
通過判斷變量的值是否是 Falsy 值,我們可以得知這個變量是否為空或未定義。下面我們通過實例來演示如何使用 Falsy 值來判斷變量是否為空。
var name = ''; if (name) { console.log('name 不為空'); } else { console.log('name 為空'); }
在上面的代碼中,我們定義了變量 name 并將其賦值為空字符串,之后通過 if 語句判斷 name 的值是否為空,輸出結果為:"name 為空"。因為空字符串是 Falsy 值,所以 if 語句的執(zhí)行條件不成立。
接下來我們使用另一個實例來判斷一個由字母、數(shù)字和空格組成的字符串是否為空:
var str1 = 'hello world'; if (str1) { console.log('str1 不為空'); } else { console.log('str1 為空'); }
在上面的代碼中,我們定義了變量 str1 并將其賦值為 "hello world",之后通過 if 語句判斷 str1 的值是否為空,輸出結果為:"str1 不為空"。因為 "hello world" 不是 Falsy 值,所以 if 語句的執(zhí)行條件成立。
除了使用 Falsy 值判斷變量是否為空之外,還可以使用 typeof 操作符判斷變量是否為 undefined:
var foo; if (typeof foo !== 'undefined') { console.log('foo 不為空'); } else { console.log('foo 為空'); }
在上面的代碼中,我們定義了變量 foo,之后通過 if 語句判斷 foo 是否為 undefined,輸出結果為:"foo 為空",因為 foo 是未定義的變量。
最后我們來說一下如何判斷數(shù)組是否為空,我們可以使用數(shù)組的 length 屬性來判斷:
var arr = []; if (arr.length) { console.log('arr 不為空'); } else { console.log('arr 為空'); }
在上面的代碼中,我們定義了一個空數(shù)組 arr,之后通過 if 語句判斷 arr 的長度是否為 0,輸出結果為:"arr 為空"。
在開發(fā)過程中,判斷變量是否為空是一項非常基礎的操作,只有掌握了正確的判斷方法,才能寫出穩(wěn)定且健壯的程序。