美文网首页
Javascript即将到来的3个新特性

Javascript即将到来的3个新特性

作者: 小进进不将就 | 来源:发表于2019-05-26 13:42 被阅读0次

    1、Optional Chaining(可选链式调用)

    const data = {
      user: {},
    };
    console.log(data.user.address.street); 
    // Uncaught TypeError: Cannot read property 'street' of undefined
    

    这是我们现在 ES6 中会遇到的问题,原因是 user 中没有 address 对象,然后我们这样判断:

    const street = data && data.user && data.user.address && data.user.address.street;
    console.log(street); // undefined
    

    这样的写法很差劲

    新特性可以这样写( ?. 类似于angular5的安全操作符)

    console.log(data.user?.address?.street) //undefined
    

    2、Nullish coalescing(空值合并)
    我们判断空值一般这样:

    value != null ? value : 'default value';
    

    或者这样:

    value || 'default value'
    

    新特性可以这样写( ?? ):

    value ?? 'default value';
    

    3、Pipeline operator(管道运算符)
    举个例子,通过三个函数对字符串进行处理,通常是这样:

    function a(str) {  return str + ", " + str;}
    
    function b(str) {
      return str[0].toUpperCase() + str.substring(1);
    }
    
    function c(str) {
      return str + '!';
    }
    
    let result = c ( b ( a("hello") ) ); // "Hello, hello!"
    

    通过 管道运算符,我们可以这样写:

    let result = "hello" |> a |> b |> c     // "Hello, hello!"
    

    参考:Here are three upcoming changes to JavaScript that you’ll love


    (完)

    相关文章

      网友评论

          本文标题:Javascript即将到来的3个新特性

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