分享 5 个你现在就能用上的 Js ES12 新特性(数字分隔符、replaceAll()

js版本ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13、ES14[2023]新特性 ES全称ECMAScript,ECMAScript是ECMA制定的标准化脚本语言,本文讲述Javascript[ECMAScript]版本ES6、ES7、ES8、ES9、ES10、ES11、ES12、ES13、ES14[2023]的新特性,帮助朋友们更好的熟悉和使用Javascript。 阅读详情

// 创建一个Promise

const promise1 = new Promise((resolve, reject) => {

// 1s后reject()

setTimeout(() => reject(“The first promise has been rejected.”), 1000);

});

// 创建一个Promise

const promise2 = new Promise((resolve, reject) => {

// 0.5s后reject()

setTimeout(() => reject(“The second promise has been rejected.”), 500);

});

// 处理异常

(async function () {

try {

const data = await Promise.any([promise1, promise2]);

console.log(data);

} catch (error) {

// 如果所有的Promise都是reject()

// 捕获aggregate errors.

console.log("Error: ", error);

}

})();

4、逻辑赋值运算符

ECMAScript 2021 更新中引入了三个逻辑赋值运算符。这些提供了逻辑运算符和赋值表达式的组合。

  • 逻辑 OR 赋值运算符 ||=

  • 逻辑与赋值运算符 &&=

  • 空合并赋值运算符 ??=

4.1、 逻辑 OR 赋值运算符

逻辑 OR 赋值运算符 ||= 接受两个操作数,如果左操作数为假,则将右操作数分配给左操作数。

let myPlaylist = {songsCount: 0, songs:[]};

// 如果myPlaylist.songsCount不存在,或布尔值为false,如false,0,null,undefined,则赋值100

myPlaylist.songsCount ||= 100;

console.log(myPlaylist); // {songsCount: 100, songs: Array(0)}

逻辑 OR 赋值运算符短路。此运算符 ||= 等效于以下使用逻辑 OR 运算符的语句。

let myPlaylist = {songsCount: 0, songs:[]};

myPlaylist.songsCount || (myPlaylist.songsCount = 100);

4.2、逻辑 AND 赋值运算符

如果左操作数为真,逻辑 AND 赋值运算符 &&= 仅将右操作数分配给左操作数。

let myPlaylist = {songsCount: 10, songs:[]};

// 如果myPlaylist.songsCount存在且布尔值为true(或等效true),则赋值100

myPlaylist.songsCount &&= 100;

console.log(myPlaylist); // {songsCount: 100, songs: Array(0)}

逻辑 AND 赋值运算符也会短路。此运算符 &&= 等效于以下使用逻辑 AND 运算符的语句。

let myPlaylist = {songsCount: 10, songs:[]};

myPlaylist.songsCount && (myPlaylist.songsCount = 100);

4.3、空合并赋值运算符

如果左操作数为空或未定义,则空合并赋值运算符 ??= 仅将右操作数分配给左操作数。

let userDetails = {firstname: ‘Katina’, age: 24}

//如果userDetails.lastname为空或者未定义,则赋值’Dawson’

userDetails.lastname ??= ‘Dawson’;

console.log(userDetails); // {firstname: ‘Katina’, age: 24, lastname: ‘Dawson’}

空合并赋值运算符也会短路。此运算符 ??= 等效于以下使用空值合并运算符的语句。

let userDetails = {firstname: ‘Katina’, age: 24}

userDetails.lastname ?? (userDetails.lastname = ‘Dawson’);

5、私有类方法和访问器

默认情况下,类方法和属性是公共的,但可以使用哈希 # 前缀创建私有方法和属性。ECMAScript 2021 更新已强制执行隐私封装。

这些私有方法和属性只能从类内部访问。

// 创建一个User类

class User {

constructor() {}

// 私有属性或方法用#修饰

#generateAPIKey() {

return “666888999”;

}

getAPIKey() {

// 获取私有属性或方法,#不能省略

return this.#generateAPIKey();

}

}

const user = new User();

const userAPIKey = user.getAPIKey();

console.log(userAPIKey); // 666888999

私有访问器是——私有的 Getter 和 Setter。Getter 允许你获取类属性的值,而 Setter 允许你为类属性分配值。你可以使用哈希 # 前缀定义私有 getter。

get #newAccountPassword() {}

同样,你可以使用哈希 # 前缀定义私有 setter。

set #generateAccountPassword(newPassword) {}

以下举例如何使用私有 Getter 与 Setter。

// 创建一个Str类

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

最后

好了,这就是整理的前端从入门到放弃的学习笔记,还有很多没有整理到,我也算是边学边去整理,后续还会慢慢完善,这些相信够你学一阵子了。

做程序员,做前端工程师,真的是一个学习就会有回报的职业,不看出身高低,不看学历强弱,只要你的技术达到应有的水准,就能够得到对应的回报。

学习从来没有一蹴而就,都是持之以恒的,正所谓活到老学到老,真正懂得学习的人,才不会被这个时代的洪流所淘汰。

些内容对你有帮助,可以添加V获取:vip1024c (备注前端)**
[外链图片转存中…(img-VrWq4vzC-1711822544882)]

最后

好了,这就是整理的前端从入门到放弃的学习笔记,还有很多没有整理到,我也算是边学边去整理,后续还会慢慢完善,这些相信够你学一阵子了。

做程序员,做前端工程师,真的是一个学习就会有回报的职业,不看出身高低,不看学历强弱,只要你的技术达到应有的水准,就能够得到对应的回报。

学习从来没有一蹴而就,都是持之以恒的,正所谓活到老学到老,真正懂得学习的人,才不会被这个时代的洪流所淘汰。

分享 5 个你现在就能用上的 Js ES12 新特性(数字分隔符、replaceAll()、Promise.any()、......) ECMAScript 2021(第 12 版)现已可用,并附带新功能和语法改进。ECMA International 已于 2021 年 6 月 22 日最终确定了这些规范。实施这些改进是为了使 JavaScript 更加健壮并帮助开发人员轻松完成任务。 以下详细展示 ECMAScript 2021 提供的前 5 项功能,以便你可以开始在你的项目中使用它们,并改善你的 JavaScript 体验。初学者和有经验的开发人员可以从本文中受益。 ECMAScript 2021 更新提供的 5 大 JavaSc 阅读详情

相关推荐

基于Transformers库的BERT模型:一个文本情感分类的实例解析

简介 本文来讲述BERT应用的一个例子,采用预训练好的BERT模型来进行演示。BERT的库来源于Transformers,这是一个由PyTorch编写的库,其集成了多个NLP领域SOTA的模型,比如bert、gpt-2、transformer xl等,并且可以自由选择已经预训练好的模型参数,我们可以基于这些参数进行进一步的训练调试。 Part 1: 利用BERT基于特征的方式进行建模 1、任务与数...

蓝天白云梦的csdn博客 2万+

JavaScript ES12新特性有哪些?

这些是ES12中的一些重要的新特性,它们提供了更多的功能和语法糖,使开发者能够更加高效地编写现代化的JavaScript代码。然而,需要注意的是,不同浏览器和 JavaScript 运行环境对ES12的支持程度可能会有所不同,请在目标平台上进行兼容性测试或使用Babel等工具进行转译,以确保代码的稳定运行。JavaScript ES12(也称为ECMAScript 2022)是JavaScript的最新版本,它引入了一些新的特性和语言功能,以提供更好的开发体验和更强大的编程能力。

肥晨开发的学习之路 2105

别再手动对照了!用Python+ArcGIS Pro一键搞定三调数据转土地三大类

本文介绍如何利用Python和ArcGIS Pro实现三调数据向土地三大类的自动化转换,大幅提升国土空间规划和土地变更调查的工作效率。通过封装分类规则为Python函数并集成到ArcGIS Pro脚本工具中,解决了传统手动操作耗时且易错的问题,适用于大规模数据处理场景。

weixin_29081101的博客 304

分享 5 个你现在就能用上的 Js ES12 新特性(数字分隔符

如果左操作数为真,逻辑 AND 赋值运算符 &&= 仅将右操作数分配给左操作数。// 如果myPlaylist.songsCount存在且布尔值为true(或等效true),则赋值100逻辑 AND 赋值运算符也会短路。此运算符 &&= 等效于以下使用逻辑 AND 运算符的语句。如果左操作数为空或未定义,则空合并赋值运算符??= 仅将右操作数分配给左操作数。//如果userDetails.lastname为空或者未定义,则赋值’Dawson’?= ‘Dawson’;

m0_60388261的博客 389

手把手教你用YOLOv11-seg-LSCD搞定树脂件瑕疵检测(附数据集与代码)

本文详细介绍了如何使用YOLOv11-seg-LSCD模型进行工业级树脂件瑕疵检测,包括环境配置、数据集构建、模型训练与调优、部署优化等全流程。通过LSCD模块的创新设计,有效提升了气泡、裂纹等微小缺陷的检测精度,适用于各类树脂制品的质量检测场景。

weixin_28677005的博客 418

巨量千川M-API实战:5分钟搞定短视频计划数据自动获取(Python版)

本文详细介绍了如何利用巨量千川M-API和Python快速搭建自动化工具,实现短视频计划数据的自动获取。通过实战代码演示了从环境准备、Token管理到核心数据接口调用的完整流程,帮助电商运营和技术开发者告别手动导出,高效完成数据汇总与分析。

weixin_29325515的博客 1359

ES6-ES12所有特性详解

文章目录第一章 ECMASript相关介绍1.1、什么是ECMA1.2、什么是ECMAScript1.3、什么是ECMA-2621.4、ECMA-262历史1.5、谁在维护ECMA-2621.6、为什么要学习ES61.7、ES6兼容性第二章 ES6特性=ES20152.1、let2.2、const2.3、变量的解构赋值2.4、模板字符串2.5、简化对象写法2.6、箭头函数2.7、rest参数2.8、扩展运算符2.9、Symbol2.10、迭代器2.11、生成器2.12、Promise2.13、Set2.14

wang13679201813的博客 4576

深度篇——图像处理的一些方法(一) 关于 图像处理的三个层次 与 selective search

返回主目录 返回 图像处理的一些方法 目录 下一章:深度篇——图像处理的一些方法(二)细说性能评估 IOU和 GIOU 目录内容 深度篇——图像处理的一些方法(一)关于图像处理的三个层次 与 selective search 深度篇——图像处理的一些方法(二)细说性能评估 IOU和 GIOU 深度篇——图像处理的一些方法(三)细说 HOG特征与bag-o...

天下所弃,不过其纪。世间事,在人,在志。 2917

重学JavaScript高级(八):ES6-ES12新增特性学习

在先前的文章 重学JavaScript高级(三):深入JavaScript运行原理中提到过,只不过是ES5的执行描述。因此WeakSet就是弱引用类型,其指向的对象,有可能会被GC回收。在ES6中,有些执行描述进行了改变,ES6中引入了解构的用法。,那么他们之间有什么区别。

weixin_55041125的博客 1566

VMware Horizon 8 2111 部署系列(十一)准备RDS主机

RDS (Remote Desktop Service),即远程桌面服务。我们可以使用 Microsoft 远程桌面服务 (RDS) 提供 RDS 主机上的桌面会话并将应用程序传送给多个用户。

白昼的技术专栏 3471

小工匠聊架构-分布式场景下的并发幂等性常见的解决方案

Pre 我们来回顾下单体时代 单体时代,应用部署在一台主机上,可以使用JVM级别的锁来控制并发请求 。 随着应用规模的不断扩大,集群化或者微服务化的分布式部署越来越普及,每个应用都是一个单独的JVM应用,所以单体时代的这种处理方式已经无法满足当前架构下的业务需求了。 JVM级别的锁已经无法满足跨进程之间访问控制了,进而演化出来了分布式锁。 分布式锁 能否解决幂等性问题? 分布式锁解决什么问题? 简言之: 解决跨进程间无法共享本地资源的问题 ,解决的是分布式场景下并发访问的问题。 为什么需要确保并发.

小工匠 2万+

分享 5 个你现在就能用上的 JS ES12 新特性

英文 |https://levelup.gitconnected.com/top-5-javascript-es12-features-you-should-start-using-no...

前端达人 241

2026年软考高级网络规划设计师备考指南

在国家网络安全法律法规和政策的指导下,能够依据网络技术发展的趋势进行计算机网络领域的需求分析、规划设计、部署实施、评测、运行维护等工作。 在需求分析阶段,写出网络系统需求规格说明书;在规划设计阶段,完成逻辑结构设计、物理结构设计,选用适宜的网络设备,按照标准规范编写系统设计文档及项目开发计划;在部署实施阶段,组织项目施工,对项目实施过程进行质量控制、进度控制、成本管理,能具体指导项目实施;在评测运维阶段,能根据相关标准和规范对网络进行评估测试,能制定运行维护、故障分析与处理机制,确保网络提供正常服务;

鹿鸣天涯 1万+

分享 5 个你现在就能用上的 Js ES12 新特性(数字分隔符、replaceAll()、Promise

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。// 如果myPlaylist.songsCount不存在,或布尔值为false,如false,0,null,undefined,则赋值100。默认情况下,类方法和属性是公共的,但可以使用哈希 # 前缀创建私有方法和属性。逻辑 OR 赋值运算符 ||= 接受两个操作数,如果左操作数为假,则将右操作数分配给左操作数。如果左操作数为空或未定义,则空合并赋值运算符?

2401_84438160的博客 625

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

该来的还是来了,盘点 ES12 中有新特性!,大厂面试必问

这种方法避免使用正则表达式,但是必须将字符串拆分为单独的部分(单词),将其转换为一个数组,然后将数组元素连接为一个新字符串。学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。然而,复杂的正则表达式往往是错误的来源。分隔符不仅可以用在整数和浮点数中,也可以用在二进制、十六进制、八进制字面量中。允许我们用一个不同的值替换字符串中的所有子串实例,而不需要使用全局正则表达式。作为参数(作为数组)的Promise都被拒绝,则抛出一个"这就是为什么在代码中,"

m0_61041374的博客 724

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ECMAScript 2024 (ES12)的新特性总结

有了replaceAll之后我们可以这么写了最终运行的结果都是:hahaha is a real hahaha可以把 Promise.any 理解成 Promise.all 的相反操作。Promise.any 也可以接受一个 Promise 数组,当其中任何一个 Promise 完成(fullfill)时,就返回那个已经有完成值的 Promise。

2401_85122963的博客 349

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ECMAScript 2024 (ES12)的新特性总结(1)

给大家分享一些关于HTML的面试题,有需要的朋友可以戳这里获取,先到先得哦。节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)给大家分享一些关于HTML的面试题,有需要的朋友可以戳这里获取,先到先得哦。[外链图片转存中…(img-KmQM5HsL-1712875968734)][外链图片转存中…(img-T30BXsaN-1712875968734)]

2401_84097696的博客 676

ECMAScript 2024 (ES12)的新特性总结(1),技术详细介绍

模式的所有匹配都会被替代项替换。模式可以是字符串或正则表达式,而替换项可以是字符串或针对每次匹配执行的函数。并返回一个全新的字符串在没有这个特性之前,我们会这样写有了replaceAll之后我们可以这么写了最终运行的结果都是:hahaha is a real hahaha可以把 Promise.any 理解成 Promise.all 的相反操作。

2301_78416672的博客 763

12个JavaScript字符串处理技巧,实战应用详解

字符串处理是前端最常见的编程任务之一。无论是表单验证、数据格式化,还是内容展示,都离不开字符串操作,分享下12个实用的JavaScript字符串处理技巧。

希望我的博客,能帮上你解决学习中工作中所遇到的问题 797

5 个大多数开发人员不知道的现代JavaScript特性

英文 |https://betterprogramming.pub/5-cool-modern-javascript-features-most-developers-dont-know...

web前端开发 197

JavaScript字符串索引、分割与链式操作实战指南

字符串操作是前端开发中最基础也最易被低估的核心能力,涉及字符定位、分隔解析与内容转换等关键环节。其底层原理围绕Unicode码点、UTF-16编码单元与语义字符三重坐标系展开,直接影响国际化、表单校验、URL解析和日志处理等高频场景的健壮性。现代JavaScript提供charAt、codePointAt、Array.from、split、replaceAll等原生API,配合正则与链式调用,可构建高可读、低出错的业务逻辑。尤其在处理emoji、多语言文本及复杂分隔符(如CSV、URL路径)时,选择正确的索

weixin_33849215的博客 450

JavaScript全局替换的底层原理与五大实战方案

字符串全局替换是前端开发中最基础也最易出错的操作之一,其本质涉及JavaScript引擎对字符串不可变性、正则状态机(lastIndex)、Unicode码点与字形簇的处理机制。理解replace()默认单次匹配的设计哲学、/g标志的真实含义(非开关而是游标状态)、replaceAll()绕开正则带来的性能与安全性提升,是规避线上事故的关键。在敏感词过滤、富文本高亮、日志清洗等典型场景中,需根据数据规模(<1MB vs >10MB)、字符类型(ASCII/emoji/中文)、是否需捕获逻辑等维度,科学选用r

weixin_34183910的博客 415

JavaScript replace() 配合正则与回调:从底层机制到高频实战

字符串处理是前端与后端开发中最高频的基础操作之一,而 JavaScript 的 replace() 方法远不止“查找并替换”这么简单。理解其底层不可变性与正则匹配机制,是掌握文本加工能力的第一步。通过配合全局匹配、捕获分组以及回调函数,replace() 可以灵活实现动态关键词替换、URL 参数重写、日期格式统一、金额千分位格式化、模板占位符批量渲染等真实业务场景。同时,元字符转义、lastIndex 状态、$ 符号特殊含义等细节也是日常开发中极易踩坑的地方。掌握这些原理和实践技巧,能够帮助你写出更安全、更

weixin_33985507的博客 319

从论文解读到GitHub仓库分析:WuMing‘s Claude Skills解读报告生成技能实战

如果你经常需要"把一篇 arXiv 论文变成一篇中文读书笔记",或者"把一个陌生的 GitHub 仓库变成源码解读报告",那么 WuMing's Claude Skills(skills)仓库里的两个技能会直接帮上忙:`paper-interpreter`(论文解读助手)和 `github-code-interpreter`(GitHub 源码解读助手)。它们属于典型的"解读 / 报告生成类"技能

gitblog_01120的博客 915

JavaScript字符串操作深度指南:索引、分割与安全变形

字符串是JavaScript中最基础却最易被低估的数据类型,其本质是基于UTF-16编码的不可变字符序列。理解字符(grapheme)、码元(code unit)与视觉单位的差异,是避免emoji截断、中文乱码、索引越界等高频问题的前提;掌握`at()`、`Array.from()`、正则`exec()`等安全索引方式,可规避`str[i]`在代理对场景下的语义陷阱;而智能分割需超越`split()`,结合固定宽度切片、流式惰性处理与Unicode感知正则,方能应对日志解析、URL参数提取等真实工程场景。本

weixin_30628077的博客 577

Deep-Live-Cam:单张照片本地实时换脸完整教程(免费开源)

Deep-Live-Cam 是一款免费的本地实时换脸工具:一张正脸照片即可替换摄像头或视频里的人脸,不经过任何在线服务。按本文步骤操作,你可以跑通摄像头实时换脸预览,并掌握高频命令行参数。 ## 效果速览 先给结果:选一张照片、选一个摄像头,预览里的人脸就被换成源照片上的脸;同一条流水线也适用于整段视频。首次加载模型约需 10–30 秒,无独显的纯 CPU 环境在 480p–720p 下也能勉

gitblog_00328的博客 776
上一篇: 一篇文章让你入门python集合和字典,自学编程找工作
下一篇: 我的MongoDB数据被黑客删库了,还勒索要支付比特币赎回
普通网友
博客等级 码龄5年 4697粉丝 610原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值