??运算符只有前面的值是undefined or null才会执行,工作中有的情况下使用,我们来看一下。
let status = undefined;
let text = status ?? "暂无"
console.log(text) // 暂无
?.运算符这在有时候处理对象时非常有用,看下面案例,person.name返回undefined然后在调用toString这时肯定会报错,这时使用?.运算符就不会产生错误,?.运算符是只有在当值不是undefined时才会调用toString方法。
let person = {}
console.log(person.name.toString()) // 报错
console.log(person.name?.toString()) // undefined
~~双非运算符可以用于向下取整。
console.log(~~4.3) // 4