AkiraZ's blog

愿键盘的余温传递到更遥远的将来

中文 / English
0%

False 与 空值

基础类型真假表

TRUE FALSE
boolean true false
number others 0 NaN
string others ‘’ “”
undefined undefined
null null
object others, includes {} null

以上是六大基本类型,值得注意的是,其中 null 类型,如果使用 typeof,返回值是 "object"

几个默认的假值在判断的时候就可以简写,或者写成 !!varName 转。

空数组与空对象

注意:如果是空数组或者空对象 [] {},无法直接判断,最简单的是转成字符串

1
2
JSON.stringify([]) === '[]'
JSON.stringify({}) === '{}'

或者使用各自的方法,比如

1
2
3
4
5
6
7
const arr = [];
const obj = {};

arr.length === 0;

Object.getOwnPropertyNames(obj).length === 0;
Object.keys(obj) === 0;

空串与空格字符串

如果直接判断空串 '' "" 可以直接 if(str),但是如果是空格/换行符需要用到正则表达式

1
2
3
4
5
6
7
8
9
const str = ' '

(!!str) === true; // cannot use if

if (str.match(/^\s$/)) {
// true if space & line-break
} else {
// false
}