首页 > 其他分享 >ECMAScript 12 (ES12, ES2021) 新特性

ECMAScript 12 (ES12, ES2021) 新特性

时间:2024-08-04 10:27:48浏览次数:12  
标签:12 console Logs 示例 ES2021 Promise log ES12 const

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。

No.内容链接
1Openlayers 【入门教程】 - 【源代码+示例300+】
2Leaflet 【入门教程】 - 【源代码+图文示例 150+】
3Cesium 【入门教程】 - 【源代码+图文示例200+】
4MapboxGL【入门教程】 - 【源代码+图文示例150+】
5前端就业宝典 【面试题+详细答案 1000+】

在这里插入图片描述

文章目录


ECMAScript 12(通常称为ES2021或ES12)是JavaScript语言的一个版本,它在2021年由ECMA国际标准化组织发布。虽然这个版本引入的变化相对较小,但它仍然包含了一些有用的新特性。

新特性概述

1. Promise.any()

Promise.any() 是一个新方法,用于处理多个Promise。如果其中任何一个Promise解析成功,则返回第一个成功的Promise的结果;如果所有的Promise都被拒绝,则返回一个聚合错误。

示例:

const promise1 = Promise.reject(new Error('Fail'));
const promise2 = new Promise((resolve) => setTimeout(resolve, 500, 'Success'));
const promise3 = Promise.reject(new Error('Fail'));

Promise.any([promise1, promise2, promise3])
  .then((value) => console.log(value)) // Logs "Success"
  .catch((error) => console.error(error));
2. String.prototype.replaceAll()

replaceAll() 方法返回一个新的字符串,其中所有匹配给定模式的子串都被替换为指定的替换文本。

示例:

const str = 'hello world';
console.log(str.replaceAll('l', 'L')); // Logs "heLLo worLd"
3. WeakRefs

WeakRef 允许你持有对象的一个弱引用,这意味着当对象不再被任何强引用所引用时,垃圾回收器可以自由地回收该对象。

示例:

class Resource {
  constructor(data) {
    this.data = data;
  }
}

const resource = new Resource('some data');
const weakRef = new WeakRef(resource);
console.log(weakRef.deref()); // Logs the Resource object

// Clearing the strong reference.
resource = null;
// After garbage collection, the weakRef should be null.
setTimeout(() => {
  console.log(weakRef.deref()); // Logs "undefined" if garbage collected
}, 0);
4. Logical Assignment Operators

逻辑赋值运算符允许你使用逻辑AND (&&=) 和 OR (||=) 运算符进行赋值。

示例:

let a = false;
let b = true;

a ||= 1; // a remains false
b ||= 2; // b remains true
a &&= 3; // a remains false
b &&= 4; // b becomes 4

console.log(a); // Logs "false"
console.log(b); // Logs "4"
5. New Methods in RegExp

在正则表达式中添加了新的方法,如 lastIndex 的 setter。

示例:

const re = /./g;
re.lastIndex = 10; // Set lastIndex to 10
console.log(re.lastIndex); // Logs "10"
6. Numeric Separators

数字分隔符 _ 可以用来更清晰地表示大数。

示例:

const largeNumber = 1_000_000;
console.log(largeNumber); // Logs "1000000"

标签:12,console,Logs,示例,ES2021,Promise,log,ES12,const
From: https://blog.csdn.net/cuclife/article/details/140901566

相关文章

  • ssm基于等保2.0的资产管理系统 毕业设计-附源码81412
    摘 要科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设基于......
  • 2024关于日本AI 领域TOP12 的大学介绍
    1.东京大学(TheUniversityofTokyo)位于:日本东京都文京区本郷七丁目3番1号网址:東京大学东京大学也被称为UTokyo或东大,是日本第一所国立大学。作为领先的研究型大学,东京大学提供基本所有本科和研究生学科的课程,并进行各种学术活动的研究。该大学包括三个主要校区——H......
  • 日撸Java三百行(day12:顺序表二)
    目录一、关于昨天的补充1.final关键字2.toString()方法二、今日代码实现1.顺序表的查找操作2.顺序表的插入操作3.顺序表的删除操作4.数据测试总结一、关于昨天的补充1.final关键字publicstaticfinalintMAX_LENGTH=10;在昨天的这行代码中,用到了final关键字......
  • Day12
    偷学快捷键:Ctrl+D等于复制当前行到下一行不同数据类型之间的运算有long为long有double为double无为int(待完善修改)关系运算符返回的结果:true/false即布尔值二元运算符有两个变量参与(一元变量符同理)a++执行完这行代码之后,先赋值再自增++a执行完这行代码之前,先自增......
  • K12182 挂号系统
    题目描述科丁医院想请科丁博士帮忙编写一个挂号系统。具体是这样的,最近来医院看病的人越来越多了,因此很多人要排队,只有当空闲时放一批病人看病。但医院的排队不同其他排队,因为多数情况下,需要病情严重的人优先看病,所以希望科丁博士设计系统时,以病情的严重情况作为优先级,判断接......
  • IPC-6012F-CN-中文版\英文版,2024 刚性印制板的鉴定及性能规范
    IPC-6012F-CN-中文版,2024刚性印制板的鉴定及性能规范链接:https://pan.baidu.com/s/1z1x5JPmcRHzeIQgMsMQRxg提取码:1234https://share.weiyun.com/s7XNX9gE 2023年10月,IPC-6012发布了最新版F版。与以往版本不同的是,F版中国成立了分技术组,收集,讨论和提交了大量制修订的意......
  • 12:Python元组属性
    #元组tuple,元素不可被修改,不能被增加或则删除tu=(111,'alex',(11,22),[(33,44)],True,33,44,)#一般写元组的时候,最后可以加个逗号不报错print(tu)tu=(111,'alex',(11,22),[(33,44)],True,33,44,)v=tu[0]#元组索引print(v)tu=(111,'alex',(11,2......
  • 硬件开发笔记(二十九):TPS54331电源设计(二):12V转3.3V和12V转4V原理图设计
    若该文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/140868749长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…硬件相关开发......
  • 七年级英语作文12____a Letter For Tina
    DearTina.Thanksforyourletter!Youwantedtoknowaboutmyfamily'activitiesonsunday,well,weallhavedifferentthingsweliketodo.Mydadusuallygoesforalongruninthemorningandtherspendssometimeworkingonhiscomputer,Mymomlik......
  • 12:Python列表属性
    #list类,列表li=[1,2,6,'adfadsf','fadfe',['fda',5,["wdf",4],'中国人']]#中国号括起来,逗号分开,可以是数字、字符串、列表、布尔值,列表可以嵌套任何类型print(li)print(li[5])#索引取值print(li[3:6])#切片结果也是列表print(li[3:-1])foriteminli:......