跳至正文

CocosCreator开发笔记(20)-如何判断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) {
    ...
}
标签:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注