es11新特性——空值合并运算符--??
es11提出了一个处理默认值更便捷的运算符,与||不同,??只有在左边严格等于null或者undefined时才会表达式才会等于右边的值
例子
let a = '';
let num = a || 1
let num1 = a ?? 1
console.log(num)
//1
console.log(num1)
//''
let a = null
let num = a || 1
let num1 = a ?? 1
console.log(num)
//1
console.log(num1)
//1
es11新特性——可选链接--?.
当不确定某个对象中是否包含某个属性或方法时,曾经可以使用三元表达式来判断,为了方便书写,可以使用可选链接
例子:
let a = {
c:1
}
let y = a ?. c
let z = a ?. d
console.log(y)
//1
console.log(z)
//undefined