你知道 0 ?? 1等于多少吗?
1. 用??代替||,用于判断运算符左侧的值为null或undefined时,才返回右侧的值
??
运算符是ES2020
引入,也被称为 null
判断运算符( Nullish coalescing operator)
它的行为类似 ||
,但是更严
||
运算符是左边是空字符串或 false
或 0
等值,都会返回后侧的值。而 ??
必须运算符左侧的值为 null
或 undefined
时,才会返回右侧的值。
因此0||1的结果为1,0??1的结果为0
2. 使用?.简化&&和三元运算符
?.
也是ES2020 引入,有人称为链判断运算符(optional chaining operator)
?.
直接在链式调用的时候判断,判断左侧的对象是否为 null
或 undefined
,如果是的,就不再往下运算,返回 undefined
,如果不是,则返回右侧的值