美文网首页
一些特殊的运算符

一些特殊的运算符

作者: JosephScript | 来源:发表于2021-04-27 15:03 被阅读0次
    1. 当我们需要取一些层级比较深的的数据同时每一层数据不一定存在时,通常的手法:
    const data = {}
    const name = data && data.userInfo && data.userInfo[0] && data.useInfo[0].name
    

    使用 ?. 可以做到这样:

    const data = {}
    const name = data?.userInfo?.[0]?.name
    
    1. 当我们需要给一些不存在的数据一个替换值 || 初始值 的时候,通常的手法:
    let a
    a = a || 'init'
    
    // 或者
    if(!a) {
      a = 'init'
    }
    

    使用 ??= 可以做到这样:

    let a
    a ??= 'init'
    // !!注意,不合规的条件是 a 为 null 或者 undefined
    
    let a = 0
    a ??= 'init'
    console.log(a) // 0
    
    1. 一些 ??= 不符合的场景,我们可以问问 ||= 可不可以做到:
    let a = 0
    a ||= 'init'
    console.log(a) // init
    
    // 注意了集美们, 不合规的条件是: 任何 falsy 值(undefined null '' NaN 0 等等)
    
    falsy 值表

    4、&&= 我就不用说了吧,自己领会

    let a = 1
    a &&= '2'
    console.log(a) // 2
    
    今日份学习完成

    相关文章

      网友评论

          本文标题:一些特殊的运算符

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