前言
读取对象属性的时候,如果某个属性的值是null
或undefined
,有时候需要为它们指定默认值。常见做法是通过||
运算符指定默认值。
一、常见的给值为null和undefined的变量赋初值的方法
实例1:
let str1 = null
let res = || '张三'
console.log("res=",res) //结果:张三
实例2:
let str1 = undefined
let res = str1 || '张三'
console.log("res=",res) //结果:张三
但是当属性的值如果为空字符串或false
或0
,默认值也会生效。这也就意味着当属性值为null
、undefined
、false
、0
这四种情况时默认值都会生效,避免这种情况ES2020 引入了一个新的 null
判断运算符??
二、es6运算符扩展-??
只有运算符??
左侧的值为null
或undefined
时,才会返回右侧的值。
代码如下(示例):
const p1 = response.data.show ?? true
上面代码中,默认值true
只有在response.data.show
的值为null
或undefined
时,才会生效然后赋值给p1
。