CocosCreator開發筆記(20)-在JS中如何判斷undefined和null
阿新 • • 發佈:2018-11-11
不當用法
有時為了判斷某個值有效,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) {
...
}