当前位置: 首页 > news >正文

ES11-12

1-ES11-Promise.allSettled

Promise.allSettled0)方法返回一个在所有给定的promise都已经fulfilled或rejected后的promise,并带有一个对象数组,每个对象表示对应的promise结果。
简单来说不管成功失败都会调用.then(),然后处理成功和失败的结果

const promises =[ ajax('/200接口'),ajax('/401接口')];
Promise.al1settled(promises).then(results=>{
//过滤出成功的请求
results.filter(item =>item.status ==='fulfilled');
//过滤出失败的请求
results.filter(item=>item.status==='rejected');
})

2-Module新增

动态导入import()

标准用法的import导入的模块是静态的,会使所有被导入的模块,在加载时就被编译(无法做到按需编译,降低首页加载速度)。有些场景中可能希望根据条件导入模块或者按需导入模块,这时可以使用动态导入代替静态导入。

<button>login</button>
<script type="'module">let role1="管理员"let role2="普通用户"function login(){return"普通用户"}async function render(role){if(role===role1)let res1=await import("./1.js")console.log(res1.default)}else{let res2=await import("./2.js")console.log(res2.default)}}

import.meta

会返回一个对象,有一个url属性,返回当前模块的url路径,只能在模块内部使用
在这里插入图片描述

export * as obj from ‘module’

表示从module中的东西综合在一起导出
用处:防止引用时改动产生影响,避免大量重复代码

* as obj  表示把所有导出的东西都综合在一个大的对象里面
import * as obj from './3.js'//导入所有从'./3.js'中导出的东西
export * as obj3 from './3.js'//导出所有从'./3.js'中导出的东西
相当于export {obj3}

3-String的matchAll方法

matchAll()方法返回一个包含所有匹配正则表达式的结果的迭代器。可以使用for…of遍历,或者使用展开运算符(…)或者Array.from转换为数组

		let str=`<ul><li>11111</li><li>22222</li><li>33333</li><li>44444</li></ul>`let reg =/<li>(?<content>.*)<\/li>/g//g拿到全部,(里面是命名)    //返回的是迭代器let iobj=str.matchAll(reg)for(let i of iobj){console.log(i);}//console.log([...iobj]);// console.log(Array.from(iobj));

4-新增数据类型:BigInt

在这里插入图片描述
为了区分Number类型区别,BigInt类型的数据必须添加后缀n
BigIn()t函数,将数字转化为BigInt类型

		console.log(2**53);let num1=123;let num2=123n;console.log(num1==num2);//trueconsole.log(num1===num2);//falseconsole.log(num2>100);//true// BigInt类型不能直接和Number类型运算// console.log(num2+2);//报错console.log(num2+BigInt(2)); console.log(BigInt(2**53)+BigInt(1));

5-顶层对象globalThis

在这里插入图片描述

6-空值合并运算符(??)

是一个逻辑运算符。当左侧操作的数为null或undefined时,其返回右侧的操作数,否则返回左侧的操作数
在这里插入图片描述

7-可选链操作符

可选链前面的值如果是null或undefined,则不再执行后面的,之前返回可选链前面的值

在这里插入图片描述

ES12-1-新增逻辑操作符

逻辑赋值操作符

在这里插入图片描述

2-数字分隔符

在这里插入图片描述

let num=123_456_789
let num2=123456789
console.log(num===num2)//true

3-字符串的replaceAll方法

所有匹配都会被替代项替换。模式可以是字符串或正则表达式,而替换项可以是字符串针对每次匹配执行的函数。并返回一个全新的字符串

在这里插入图片描述

4-Promiss.any

1.只要参数实例有一个变成fufilled状态,包装实例就会变成fufilled状态;
如果所有参数实例都变成rejected状态,包装实例就会变成rejected状态。
2.Promise.any()跟Promise.race()方法很像,只有一点不同,就是Promise.any()不会因为某个Promise变成rejected状态而结束,必须等到所有参数Promise变成rejected状态才会结束

场景:登陆-会员联盟(A,B,C)只要有一家登陆成功就说明是联盟会员
.all都成功了才行×
.race跑的快的×
.allSettled需要在then中自己添加判断
.any三个里只要有一个fufilled就会走.then,如果都是rejected会走.catch

5-weakPefs

在一般情况下,对象的引用是强引用的,这意味着只要持有对象的引用,它就不会被垃圾回收。
只有当该对象没有任何的强引用时,垃圾回收才会销毁该对象并且回收该对象所占的内存空间。

WeakRef允许您保留对另一个对象的弱引用,而不会阻止被弱引用对象被垃圾回收。
1.只能存在复杂类型
2.不存在引用计数+1
3.size,for循环不能用了

let target ={};
let wr=new weakRef(target);

WeakRef实例对象有一个deref()方法,如果原始对象存在,该方法返回原始对象;如果原始对象已经被垃圾回收机制清除,该方法返回undefined。

let target =0;
let wr=new weakRef(target);
let obj=wr.deref O;
if (obj){//Itarget未被垃圾回收机制清除//...
}

6-FinalizationRegistry(了解)

清理器注册表功能,用来指定目标对象被垃圾回收机制清除以后,所要执行的回调函数

在这里插入图片描述
在这里插入图片描述

相关文章:

ES11-12

1-ES11-Promise.allSettled Promise.allSettled0)方法返回一个在所有给定的promise都已经fulfilled或rejected后的promise,并带有一个对象数组,每个对象表示对应的promise结果。 简单来说不管成功失败都会调用.then()&#xff0c;然后处理成功和失败的结果 const promises [ …...

【学习笔记】Vue3源码解析:第三部分-获取computed的值;实现computed

课程地址&#xff1a;【已完结】全网最详细Vue3源码解析&#xff01;&#xff08;一行行带你手写Vue3源码&#xff09; 第三部分-获取computed的值&#xff1b;实现computed&#xff1a;&#xff08;对应课程的第18-21节&#xff09; 第22节&#xff1a;《获取computed的值》 …...

顺序表(C语言版)

前言&#xff1a;本篇文章我们来详细的讲解一下顺序的有关知识&#xff0c;这篇文章中博主会以C语言的方式实现顺序表。以及用顺序表去实现通讯录的代码操作。 目录 一.顺序表的概念 二.顺序表的分类 1.静态顺序表 三.动态顺序表的实现 1.顺序表的初始化 2.顺序表的尾插…...

Python高质量函数编写指南

The Ultimate Guide to Writing Functions 1.视频 https://www.youtube.com/watch?vyatgY4NpZXE 2.代码 https://github.com/ArjanCodes/2022-funcguide Python高质量函数编写指南 1. 一次做好一件事 from dataclasses import dataclass from datetime import datetimedatacl…...

探索Spring、Spring Boot和Spring Cloud的奇妙关系(二)

本系列文章简介&#xff1a; 在当今快节奏、高竞争的软件开发世界中&#xff0c;构建可靠、高效的应用程序是至关重要的。而Spring框架一直以来都是业界领先的Java开发框架之一&#xff0c;帮助开发者简化了复杂的任务&#xff0c;并提供了丰富的功能和强大的支持。 然而&#…...

Mysql的事务隔离级别以及事务的四大特性。

MySQL 的事务隔离级别是数据库管理系统中的一个重要概念&#xff0c;它决定了事务如何隔离和影响其他并发事务。MySQL 支持四种事务隔离级别&#xff0c;分别是&#xff1a;读未提交&#xff08;READ UNCOMMITTED&#xff09;、读已提交&#xff08;READ COMMITTED&#xff09;…...

人工智能_大模型023_AssistantsAPI_01_OpenAI助手的创建_API的调用_生命周期管理_对话服务创建---人工智能工作笔记0159

先来说一下一些问题: 尽量不要微调,很麻烦,而且效果需要自己不断的去测试. 如果文档中有图表,大量的图片去分析就不合适了. 是否用RAG搜索,这个可以这样来弄,首先去es库去搜能直接找到答案可以就不用去RAG检索了,也可以设置一个分,如果低于60分,那么就可以去进行RAG检索 微…...

锁策略总结

锁策略 悲观锁和乐观锁 乐观锁和悲观锁不是具体类型的锁而是指两种不同的对待加锁的态度&#xff0c;这两个锁面对锁冲突的态度是相反的。 乐观锁&#xff1a;认为不存在很多的并发操作&#xff0c;因此不需要加锁。悲观锁&#xff1a;认为存在很多并发操作&#xff0c;因此需…...

蓝桥杯备考day2

1.1 map及其函数 map 提供一对一的数据处理能力&#xff0c;由于这个特性&#xff0c;它完成有可 能在我们处理一对一数据的时候&#xff0c;在编程上提供快速通道。map 中的第一 个值称为关键字(key)&#xff0c;每个关键字只能在 map 中出现一次&#xff0c;第二个称为该 关…...

Mac电脑安装蚁剑

1&#xff1a; github 下载源码和加载器&#xff1a;https://github.com/AntSwordProjectAntSwordProject GitHubAntSwordProject has 12 repositories available. Follow their code on GitHub.https://github.com/AntSwordProject 以该图为主页面&#xff1a;antSword为源码…...

品牌百度百科词条创建多少钱?

百度百科作为国内最具权威和影响力的知识型平台&#xff0c;吸引了无数品牌和企业争相入驻。一个品牌的百度百科词条&#xff0c;不仅是对品牌形象的一种提升&#xff0c;更是增加品牌曝光度、提高品牌知名度的重要途径。品牌百度百科词条创建多少钱&#xff0c;这成为了许多企…...

Linux安装及管理程序

目录 一.Linux应用程序基础 1.应用程序与系统命令的关系 2.典型应用程序的目录结构 3.常见的Linux软件包封装类型 二.RPM 软件包管理工具 1.RPM 软件包管理器 Red-Hat Package Manger 2.RPM软件包 3.RPM命令 三.源代码编译安装 1. yum 软件包管理器&#xff1a; 配…...

Mybatis generate xml 没有被覆盖

添加插件即可 <plugin type"org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin"/>...

MercadoLibre(美客多)入仓预约系统操作流程-自动化约号(开篇)

目录 一、添加货件信息 二、输入货件信息 三、选择发货 四、填写交货日期 五、注意事项 MercadoLibre&#xff08;美客多&#xff09;于2021年10月18号上线了新预约入仓系统&#xff0c;在MercadoLibre美客多平台上&#xff0c;新入仓预约系统是一项非常重要的功能&#x…...

Unity TextMeshProUGUI 获取文本尺寸·大小

一般使用ContentSizeFitter组件自动变更大小 API 渲染前 Vector2 GetPreferredValues(string text)Vector2 GetPreferredValues(string text, float width, float height)Vector2 GetPreferredValues(float width, float height) 渲染后 Vector2 GetRenderedValues()Vector…...

Sonar下启动发生错误,elasticsearch启动错误

Download | SonarQube | Sonar (sonarsource.com) 1.首先我的sonar版本为 10.4.1 &#xff0c;java版本为17 2.sonar启动需要数据库,我先安装了mysql, 但是目前sonar从7.9开始不支持mysql&#xff0c;且java版本要最少11,推荐使用java17 3.安装postsql,创建sonar数据库 4.启…...

Git常用命令以及异常信息汇总

常用命令&#xff1a; 查看本地分支&#xff1a; git branch 创建一个新仓库 git clone 仓库地址xxxxx cd 目标目录 git switch -c main touch README.md git add README.md git commit -m "add README" git push -u origin main 推送现有文件夹 cd 目标目录 git in…...

解释Python中的RESTful API设计和实现

解释Python中的RESTful API设计和实现 RESTful API&#xff0c;即符合REST&#xff08;Representational State Transfer&#xff0c;表述性状态转移&#xff09;架构风格的Web服务接口&#xff0c;已成为现代Web应用程序通信的标准。Python作为一种灵活且强大的编程语言&…...

一、Nginx部署

Nginx部署 一、Docker部署1.复制Nginx配置文件2.启动Nginx容器 一、Docker部署 1.复制Nginx配置文件 # 1.拉取镜像 docker pull nginx # 2.启动nginx容器 docker run --restartalways --namenginx -p 80:80 -d nginx # 3.宿主机创建挂载目录 mkdir /root/docker/nginx -p # 4…...

C语言基础---指针的基本语法

概述 内存地址 在计算机内存中&#xff0c;每个存储单元都有一个唯一的地址(内存编号)。通俗理解&#xff0c;内存就是房间&#xff0c;地址就是门牌号 指针和指针变量 指针&#xff08;Pointer&#xff09;是一种特殊的变量类型&#xff0c;它用于存储内存地址。指针的实…...

ARM缓存控制器架构解析与性能优化实践

1. ARM缓存控制器架构概述 在现代处理器设计中&#xff0c;缓存控制器作为CPU与主存之间的关键桥梁&#xff0c;其设计优劣直接影响系统整体性能。ARM架构的缓存控制器采用分层设计理念&#xff0c;通过数据RAM、标签RAM和脏RAM三大核心组件的协同工作&#xff0c;实现了高效的…...

UE4 TCP通信实战:从网络调试助手到Python服务端的跨平台数据交互

1. UE4 TCP通信基础与环境搭建 第一次在UE4里折腾TCP通信的时候&#xff0c;我对着文档研究了整整两天。后来发现其实用对方法&#xff0c;半小时就能跑通第一个Demo。这里分享我最常用的TCPSocketPlugin插件方案&#xff0c;比原生C实现简单十倍。 先到虚幻商城搜索"TCP …...

Windows Defender彻底移除工具:2025终极完整使用教程

Windows Defender彻底移除工具&#xff1a;2025终极完整使用教程 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode.com/gh_mirrors/wi/w…...

终极CAN总线分析利器:Cangaroo完全配置与深度使用指南

终极CAN总线分析利器&#xff1a;Cangaroo完全配置与深度使用指南 【免费下载链接】cangaroo Open source can bus analyzer software - with support for CANable / CANable2, CANFD, and other new features 项目地址: https://gitcode.com/gh_mirrors/ca/cangaroo Ca…...

如何快速集成DatePicker到你的Android项目

如何快速集成DatePicker到你的Android项目 【免费下载链接】DatePicker Useful and powerful date picker for android 项目地址: https://gitcode.com/gh_mirrors/da/DatePicker DatePicker是一款功能强大且易于使用的Android日期选择器&#xff0c;支持单选和多选模式…...

构建聚合搜索与阅读工具:一站式信息处理中枢的设计与实践

1. 项目概述&#xff1a;一个聚合搜索与阅读的“信息中枢”最近在折腾一个挺有意思的项目&#xff0c;叫all-net-search-read。光看名字&#xff0c;你可能会觉得这又是一个“聚合搜索”工具&#xff0c;市面上这类工具确实不少。但当我深入去研究和使用它时&#xff0c;发现它…...

【Prometheus】如何分析和解读 Prometheus 的日志信息以定位问题?

Prometheus 日志深度解读指南:从启动异常到 TSDB 损坏的全链路故障定位 用户问题原文:“如何分析和解读 Prometheus 的日志信息以定位问题?” 在支撑单集群500万+时间序列的生产环境中,Prometheus 的日志是 SRE 团队洞察系统内部状态的“黑匣子”。一次未被正确解读的日志警…...

Taotoken控制台的用量看板如何帮助团队管理API成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken控制台的用量看板如何帮助团队管理API成本 对于项目负责人或技术管理者而言&#xff0c;透明可控的支出至关重要。在集成多…...

Rust微信SDK实战:构建高性能、类型安全的微信机器人

1. 项目概述与核心价值 最近在折腾一些需要与微信生态深度交互的自动化项目&#xff0c;比如自动回复、消息监控、群管理工具等。这类需求在电商客服、社群运营、企业内部流程自动化等场景下非常普遍。传统的做法往往是基于官方提供的HTTP API&#xff0c;自己封装请求、处理复…...

空间可计算・跨镜可连续:镜像视界NeRF+实时重构跟踪体系解决方案

空间可计算・跨镜可连续&#xff1a;镜像视界NeRF实时重构跟踪体系解决方案在工业安全生产与智慧仓储管控领域&#xff0c;危化品工业园区、智慧粮库作为高风险、高管控要求的核心场景&#xff0c;其安全运营管理始终面临着传统监控技术无法突破的痛点。传统视频监控系统多为二…...