网络

教育改变生活

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

[前端开发] JS语法ES12(2021)新特性

[复制链接]

271

主题

284

帖子

1243

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1243

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

跳转到指定楼层
楼主
发表于 2021-4-25 16:43:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1. replaceAll
返回一个全新的字符串,所有符合匹配规则的字符都将被替换掉
  1. const str = 'hello world';
  2. str.replaceAll('l', ''); // "heo word"
复制代码


2. Promise.any
Promise.any() 接收一个Promise可迭代对象,只要其中的一个 promise 成功,就返回那个已经成功的 promise 。如果可迭代对象中没有一个 promise 成功(即所有的 promises 都失败/拒绝),就返回一个失败的 promise
  1. const promise1 = new Promise((resolve, reject) => reject('我是失败的Promise_1'));
  2. const promise2 = new Promise((resolve, reject) => reject('我是失败的Promise_2'));
  3. const promiseList = [promise1, promise2];
  4. Promise.any(promiseList)
  5. .then(values=>{
  6.   console.log(values);
  7. })
  8. .catch(e=>{
  9.   console.log(e);
  10. });
复制代码




3. WeakRefs
使用WeakRefs的Class类创建对对象的弱引用(对对象的弱引用是指当该对象应该被GC回收时不会阻止GC的回收行为)
4. 逻辑运算符和赋值表达式
逻辑运算符和赋值表达式,新特性结合了逻辑运算符(&&,||,??)和赋值表达式而JavaScript已存在的 复合赋值运算符有:
  1. a ||= b
  2. //等价于
  3. a = a || (a = b)

  4. a &&= b
  5. //等价于
  6. a = a && (a = b)

  7. a ??= b
  8. //等价于
  9. a = a ?? (a = b)
复制代码


5. 数字分隔符
数字分隔符,可以在数字之间创建可视化分隔符,通过_下划线来分割数字,使数字更具可读性
  1. const money = 1_000_000_000;
  2. //等价于
  3. const money = 1000000000;

  4. 1_000_000_000 === 1000000000; // true
复制代码




回复

使用道具 举报

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

本版积分规则

WEB前端

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

GMT+8, 2024-5-12 11:53 , Processed in 1.215567 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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