JS 运算符

77 阅读1分钟
1. 【可选链 ?.】 用来判断对象的属性是否存在,
?.前的内容是否存在  if(res?.data?.code)  等同于 if(res && res.data && res.data.code)
先隐式地检查并确定 res, res.data, res.data.code 既不是 `null` 也不是 `undefined`。如果是 `null` 或者 `undefined`,表达式将会在此短路计算,直接返回 `undefined`。
2. 【空值合并运算符 ?? 和 逻辑运算符||】
let obj = {}
obj?.name ?? 'zhangsan' // zhangsan
可结合可选链一起开发,当可选链左边为nullundefined时,给其设置默认值 
与【逻辑运算符 || 】的区别:|| 是当左边为假值(null undefined 0 false '')都会采用右边的默认值,可能当数据正常为boolean时造成bug,建议采用??

image.png

2. 【delete】用来删除对象的属性 delete obj.name
let obj = {name:'aaa'}
delete obj.name 
3. 【in】用来判断对象的属性是否存在
let obj = {name:'aaa'}
if('name' in obj) // true