资讯专栏INFORMATION COLUMN

Javascript即将到来的3个新特性

fantix / 480人阅读

摘要:可选链式调用这是我们现在中会遇到的问题,原因是中没有对象,然后我们这样判断这样的写法很差劲新特性可以这样写类似于的安全操作符空值合并我们判断空值一般这样或者这样新特性可以这样写管道运算符举个例子,通过三个函数对字符串进行处理,通常是这样通过

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


(完)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/59411.html

相关文章

  • Javascript即将到来3个新特性

    摘要:可选链式调用这是我们现在中会遇到的问题,原因是中没有对象,然后我们这样判断这样的写法很差劲新特性可以这样写类似于的安全操作符空值合并我们判断空值一般这样或者这样新特性可以这样写管道运算符举个例子,通过三个函数对字符串进行处理,通常是这样通过 showImg(https://segmentfault.com/img/remote/1460000019296541); 1、Optional...

    dcr309duan 评论0 收藏0
  • 阿里云前端周刊 - 第 16 期

    摘要:或许,它还终将改变用户对移动的期待。通过一个场景实例了解前端处理大数据的无限可能随着前端的飞速发展,在浏览器端完成复杂的计算,支配并处理大量数据已经屡见不鲜。 推荐 1. 神经网络入门 http://www.ruanyifeng.com/blo... 眼下最热门的技术,绝对是人工智能,人工智能的底层模型是神经网络(neural network)。许多复杂的应用(比如模式识别、自动控制)...

    waruqi 评论0 收藏0
  • 即将到来 Javascript 三个改变, 你会很喜欢它们,因为确实是方便了很多!

    摘要:你将看到它们的语法时时关注它们的进展与更新。标准有个版本,个发布第个版本被放弃了。此建议的目的只是避免在起草建议被放弃或发生重大带来的麻烦。如果使用过度,将导致性能下降。在这个场景中,数字和空字符串都被认为是假的。 showImg(https://segmentfault.com/img/bVbj2Az?w=2000&h=1333); 想阅读更多优质文章请猛戳GitHub博客,一年百来...

    tinysun1234 评论0 收藏0
  • 即将到来java11特性

    摘要:将摒弃的部分将移除和最近更名为模块同时也会移除新增功能垃圾收集器被称为收集器,将处理内存分配而不实施任何实际的内存回收机制。统计下目前的垃圾收集器,允许在声明隐式类型的表达式的形式参数时使用类文件格式将被扩展为支持一个新的常量池形式。 java11将摒弃的部分 Java 11 将移除 CORBA 和 Java EE(最近更名为 Jakarta EE)模块同时也会移除 JavaFX ja...

    jubincn 评论0 收藏0
  • 四月份前端补给包已到,请查收~

    摘要:版本发布月日,官博发文宣告正式发布。官方文档提供了如下的示例终端上的输出热门文章我在阿里云做前端抓住我们核心的竞争力,并同时发现业务中的问题,跨端推进解决,这是最好的出路。 showImg(https://segmentfault.com/img/remote/1460000019038442); 【阿里云 TXD 前端月刊】- 热门前端技术快报,聚焦业界新视界;前端领域急速发展的节奏...

    wushuiyong 评论0 收藏0

发表评论

0条评论

fantix

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<