1. 程式人生 > >CocosCreator開發筆記(20)-在JS中如何判斷undefined和null

CocosCreator開發筆記(20)-在JS中如何判斷undefined和null

不當用法

有時為了判斷某個值有效,JS新手會寫這種臃腫程式碼:

if (data != null && typeof(data) != undefined && data != '') {
    ...
}

為避免這種情況,首先要了解undefined和null的區別。

什麼是undefined和null

當宣告的變數未被初始化時,預設值為undefined。如:

let myVal; // undefined

null表示尚未存在的物件。如:

let testNode = this.node.getChildByName('noExist'); // 沒有noExist節點,testNode為null

如何判斷undefined和null

測試證明對undefined、null和空字串取反為true,對其餘任何值取反都為false。如:

!undefined; // true
!null; // true
!''; // true
!1; // false
!'123'; // false

所以,如果想判斷一個值是undefined、null和空字串中的一種,只要用 ! 就可以。如:

if (!data) {
    ...
}

同理,如果想判斷一個值不是undefined、null和空字串中的一種,則用 !! 就可以。如:

if (!!data) {
    ...
}