Javascript行将到来的3个新特征

《Javascript行将到来的3个新特征》

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://segmentfault.com/a/1190000019296538
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞