美文网首页
?? // ?. // ||=新语法符号的使用

?? // ?. // ||=新语法符号的使用

作者: bypwan | 来源:发表于2022-10-28 10:22 被阅读0次

工作中使用这几个新语法符号能起到代码整洁清爽事半功倍的效果那

第一位

??(空值undefined和null处理)
表达式在 ?? 的左侧 运算符求值为undefined或null,返回其右侧
之前常用的解决方法为:
a = a|| '替换值'
存在的问题:将0,false,‘’等一并处理掉了,有时候不满足我们的需求
如后台返回的0对我们来说是需要的,通过||,0也被认为假
而??可以只处理undefined和null2中情况

let user = {
    u1: 0,
    u2: false,
    u3: null,
    u4: undefined
    u5: '',
}
let u1 = user.u1??'替换值' // 0
let u2 = user.u2 ?? '替换值'  // false
let u3 = user.u3 ?? '替换值'  // 替换值
let u4 = user.u4 ?? '替换值'  // 替换值
let u5 = user.u5 ?? '替换值'  // ''

第二位 ?.

Optional chaining(可选链)
?.用户检测不确定的中间节点

let user = {}
let u1 = user.childer.name // TypeError: Cannot read property 'name' of undefined
let u1 = user.childer?.name // undefined

第三位 逻辑运算符和赋值表达式

逻辑运算符和赋值表达式,新特性结合了逻辑运算符(&&,||,??)和赋值表达式而JavaScript已存在的 复合赋值运算符有:

a ||= b
//等价于
a = a || (a = b)

a &&= b
//等价于
a = a && (a = b)

a ??= b
//等价于
a = a ?? (a = b)

🌰:
if(!a){
  a = []
}
a.push(1)
通过||= 可以简写为:
(a||=[]).push(1)

相关文章

  • Markdown语法

    Markdown语法 注意: Markdown中使用到的语法符号均为英文符号 Markdown语法主要分为如下几大...

  • Markdown语法简要说明

    Markdown语法 注意:Markdown中使用到的语法符号均为英文符号 Markdown语法主要分为如下几大部...

  • ?? // ?. // ||=新语法符号的使用

    工作中使用这几个新语法符号能起到代码整洁清爽事半功倍的效果那 第一位 ??(空值undefined和null处理)...

  • day17-正则表达式

    正则符号 1.什么是正则 正则是字符串匹配的一种工具,拥有自己的语法。语法中主要包含各种符号的使用 2.正则语法 ...

  • 用Github配置MarkDown图床

    Markdown的语法简单,可以通过符号语言简单的实现,方便使用。支持Markdown语法的工具很多,其中有Typ...

  • Markdown学习之二基础语法

    Markdown学习之二基础语法 语法基本规则 Markdown语法完全由标点符号组成 语法标点符号与内容之间要有...

  • 6.Beego框架之view

    基本语法 go 统一使用了 {{ 和 }} 作为左右标签,没有其他的标签符号。如果您想要修改为其它符号,可以修改配...

  • MarkDown个人使用总结

    1.markdown如何原样显示语法符号(#>……)?*使用转义字符,#*>2.代码块显示示例:```functi...

  • 【Markdown】语法

    Markdown语法 基础语法 标题 “#”符号设置标题,符号个数代表标题级别 列表 有序列表 数字 + . 无序...

  • 8-3城市选择页布局 、better-scoll插件的使用

    布局BFC的使用 伪类元素的使用(stylus语法&符号表示和当前class同级的元素,否则指下级元素) Bett...

网友评论

      本文标题:?? // ?. // ||=新语法符号的使用

      本文链接:https://www.haomeiwen.com/subject/evwxtdtx.html