美文网首页
链式取值optional-chaining

链式取值optional-chaining

作者: 如此行走 | 来源:发表于2020-05-22 19:05 被阅读0次

    Optional-Chaining 操作符是一个二元操作符, 其含义为: 如果其左值为 null/undefined, 则整体返回 undefined; > 否则返回其右值。
    就是为了减少这样的操作

    const city =
      apiResult &&
      apiResult.office &&
      apiResult.office.primary &&
      apiResult.office.primary.city;
    

    实现这样的:

    // 例子 17-1
    
    const obj = {
      foo: {
        bar: {
          baz: 42,
        },
      },
    };
    
    const baz = obj?.foo?.bar?.baz; // 42
    
    

    使用情景:

    // Optional Chaining 的语法有三种使用场景:
    
    obj?.prop       // optional static property access
    obj?.[expr]     // optional dynamic property access
    func?.(...args) // optional function or method call
    
    

    简单来说,代码片段:

    let name = movie.director?.name;
    // 相当于
    let name;
    if (movie.director != null) {
      name = movie.director.name;
    }
    

    相关文章

      网友评论

          本文标题:链式取值optional-chaining

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