网络

教育改变生活

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1089|回复: 0
打印 上一主题 下一主题

[前端开发] JS语法ES11(2020)新特性

[复制链接]

271

主题

284

帖子

1243

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1243

最佳新人活跃会员热心会员突出贡献优秀版主

跳转到指定楼层
楼主
发表于 2021-4-25 16:42:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. Nullish coalescing Operator(空值处理)
表达式在 ?? 的左侧 运算符求值为undefined或null,返回其右侧。
  1. let user = {
  2.     u1: 0,
  3.     u2: false,
  4.     u3: null,
  5.     u4: undefined
  6.     u5: '',
  7. }
  8. let u2 = user.u2 ?? '用户2'  // false
  9. let u3 = user.u3 ?? '用户3'  // 用户3
  10. let u4 = user.u4 ?? '用户4'  // 用户4
  11. let u5 = user.u5 ?? '用户5'  // ''
复制代码


2. Optional chaining(可选链)
?.用户检测不确定的中间节点
  1. let user = {}
  2. let u1 = user.childer.name // TypeError: Cannot read property 'name' of undefined
  3. let u1 = user.childer?.name // undefined
复制代码


3. Promise.allSettled
返回一个在所有给定的promise已被决议或被拒绝后决议的promise,并带有一个对象数组,每个对象表示对应的promise结果
  1. const promise1 = Promise.resolve(3);
  2. const promise2 = 42;
  3. const promise3 = new Promise((resolve, reject) => reject('我是失败的Promise_1'));
  4. const promise4 = new Promise((resolve, reject) => reject('我是失败的Promise_2'));
  5. const promiseList = [promise1,promise2,promise3, promise4]
  6. Promise.allSettled(promiseList)
  7. .then(values=>{
  8.   console.log(values)
  9. });
复制代码




4. import()
按需导入
5. 新基本数据类型BigInt
任意精度的整数
6. globalThis
  • 浏览器:window
  • worker:self
  • node:global


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

WEB前端

QQ|手机版|小黑屋|金桨网|助学堂  咨询请联系站长。

GMT+8, 2024-5-12 02:35 , Processed in 1.057591 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表