发布时间:2026/8/25 13:20:36
ES2026,早该这样了 “Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away.” — Antoine de Saint-Exupéry6月30号ECMAScript 2026 的规范悄悄过审了。没有发布会没有倒计时连个热搜都没上。说实话挺符合这次更新的气质——闷声干活不整花里胡哨的。打开 changelog 扫了一遍我的第一反应不是哇塞而是——“这玩意儿怎么现在才有”Map.getOrInsert终于不用写三行废话了写 JS 的应该都经历过这种场景往 Map 里塞数据key 存在就追加不存在就初始化。ES2026 之前你的代码大概长这样constmapnewMap();functionaddTag(userId,tag){if(!map.has(userId)){map.set(userId,[]);}map.get(userId).push(tag);}三行代码做一件事检查、初始化、追加。has一次查找get又一次查找加上set的那一次——恭喜你为了一个简单的有就拿、没有就建你让引擎跑了三趟。ES2026 之后constmapnewMap();functionaddTag(userId,tag){map.getOrInsert(userId,[]).push(tag);}一行。结束。而且还有个getOrInsertComputed只在 key 不存在时才执行回调去算默认值。这对那些初始化成本高的场景来说省的不只是代码行数还有真金白银的运行时开销。// 连接池场景不存在才创建存在直接复用constpoolnewMap();constconnpool.getOrInsertComputed(dbHost,(host){returncreateConnection(host);// 只在首次才会执行});说白了这个 API 就是把 Python 的dict.setdefault()和 Ruby 的Hash#fetch那套搬过来了。人家十几年前就有的东西JS 到 2026 年才给你。“不是JS用不起而是TC39推得慢。”Error.isErrorinstanceof的坑终于有人填了你有没有遇到过这种灵异事件一个东西明明是 Errorinstanceof Error却告诉你不是别怀疑自己。这是 JS 的经典设计遗产——跨 Realm 的原型链断裂。iframe 里抛出的 Error、Worker 里传递的 Error、甚至vm.runInNewContext里创建的 Error它们的Error构造函数和你当前环境的Error压根不是同一个对象。// iframe 里的代码抛了个错consterriframeWindow.someFunction();console.log(errinstanceofError);// false// 你盯着屏幕它明明就是个 Error 啊以前的应对方案通常是这样// 鸭子类型检测法能跑但心里没底functionisError(value){returnvaluetypeofvalue.messagestringtypeofvalue.stackstring;}能用但你心里清楚这就是在糊弄。任何带message和stack属性的对象都能骗过去。ES2026 给了一个干净利落的解法// 跨 iframe、跨 Worker、跨 Realm全部搞定Error.isError(err);// true不管你从哪来的没有 polyfill 的弯弯绕绕没有鸭子类型的心虚。原生方法标准行为一锤定音。类似的设计其实早就有先例了——Array.isArray()干的就是同样的事。只是 Error 这边拖了十几年才补上算是还了一笔技术债。Iterator.zip拉链合并不用再手搓索引了同时遍历两个数组按索引一一对应以前你大概率是这么写的constnames[Alice,Bob,Charlie];constscores[92,87,95];// 经典 for 循环手动对齐constresults[];for(leti0;iMath.min(names.length,scores.length);i){results.push([names[i],scores[i]]);}手搓索引Math.min防越界每次写都觉得自己在重复劳动。Python 程序员看到这段代码大概会笑出声——人家一个zip()就搞定的事。ES2026 终于把这个轮子给你造好了constnames[Alice,Bob,Charlie];constscores[92,87,95];constresultsIterator.zip([names,scores]).toArray();// [[Alice, 92], [Bob, 87], [Charlie, 95]]而且给了三种模式比 Python 的还周到// shortest默认以最短的为准Iterator.zip([a,b]);// longest以最长的为准短的用 undefined 填Iterator.zip([a,b],{mode:longest});// strict长度不一致直接报错适合数据必须对齐的场景Iterator.zip([a,b],{mode:strict});strict模式是我最喜欢的。数据对不齐就直接炸给你看别让那些undefined悄悄溜进你的业务逻辑里——等你发现的时候线上已经出了两个工单了。Math.sumPrecise浮点数的坑官方来填了经典面试题0.1 0.2 等于多少console.log(0.10.2);// 0.30000000000000004这个坑每个 JS 开发者都踩过但你有没有想过当你需要对一个大数组做求和的时候这些微小的精度误差会像滚雪球一样越积越大// 传统写法误差在每次累加时都在积累consttotalvalues.reduce((sum,v)sumv,0);ES2026 的Math.sumPrecise用了更聪明的算法来做浮点求和——在运算过程中尽可能保持精度最后才做一次舍入constvalues[0.1,0.2,0.3,0.4,0.5];Math.sumPrecise(values);// 1.5干净利落搞金融计算的、做数据统计的、写科学计算的——这个方法是给你们量身定做的。以后别再自己手搓 Kahan 求和算法了标准库帮你兜底。说点真心话ES2026 不是那种让你哇塞的大版本。没有新语法糖没有革命性的范式转移没有能写进简历里炫耀的关键词。但这恰恰是我觉得最舒服的一次更新。每一个新 API 都在解决一个真实的、具体的、你写过一万遍 workaround 的痛点。Map.getOrInsert终结了 has-get-set 三件套。Error.isError填上了 instanceof 的跨域天坑。Iterator.zip让你不用再手搓索引对齐。Math.sumPrecise让浮点求和不再是玄学。这些API不酷但是好用。就像一个老老实实修bug的同事——不会在周会上抢着发言但你真心希望组里多来几个这样的人。TC39 这次干了件正经事。 数据来源与参考资料ECMAScript 2026 Language Specification: Ecma International, ECMA-262, 17th Edition (June 2026).TC39 Proposal: Map.getOrInsert: https://github.com/tc39/proposal-upsertTC39 Proposal: Error.isError: https://github.com/nicolo-ribaudo/proposal-error-iserrorTC39 Proposal: Joint Iteration (Iterator.zip): https://github.com/nicolo-ribaudo/proposal-joint-iterationTC39 Proposal: Math.sumPrecise: https://github.com/nicolo-ribaudo/proposal-math-sumJavaScript Weekly Issue 740: https://javascriptweekly.com (July 2026)

相关新闻

2026/8/25 17:20:20

QMK Toolbox固件管理工具操作指南与故障解决方案

QMK Toolbox固件管理工具操作指南与故障解决方案 【免费下载链接】qmk_toolbox A Toolbox companion for QMK Firmware 项目地址: https://gitcode.com/gh_mirrors/qm/qmk_toolbox QMK Toolbox是一款专门为QMK固件生态设计的集成化固件管理工具,它为机械键盘…

2026/8/25 16:43:27

安全快捷合规,企业支付优选

支付宝「安全发」核心优势聚焦安全、快捷、合规,适配企业与个人各类支付需求。它具备极强的交易安全保障,每笔交易都有全方位防护机制,牢牢守住资金安全底线,杜绝交易风险。操作简单高效,一键即可完成付款,…

2026/8/24 18:38:43

思源宋体中文版完全指南:7种字重免费商用字体终极教程

思源宋体中文版完全指南:7种字重免费商用字体终极教程 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为中文排版设计寻找专业又免费的字体吗?思源宋体中文…

2026/8/25 19:48:13

垃圾回收算法解析:从原理到面试实战

1. 垃圾回收算法的重要性与面试考察点垃圾回收(Garbage Collection,简称GC)是现代编程语言内存管理的核心技术之一。作为面试官考察候选人系统理解能力的经典题目,GC算法不仅能反映开发者对底层原理的掌握程度,更能体现…

2026/8/25 19:48:13

Product Hunt 每日热榜 | 2026-08-23

1. Toplify 标语:跟踪你的应用在全球App Store的排名 介绍:Toplify是一款多服务器服务监控应用,能够24小时不间断地追踪175个国家的App Store排行榜,确保你不会错过下一个里程碑。它会为新的排名和显著的跃升发送提醒。不需要AP…

2026/8/25 19:48:13

AI编排器集成dsh:构建标准化命令执行引擎的工程实践

1. 先搞清楚 dsh 和 AI 编排器到底是什么关系看到“将 dsh 融入 AI 编排器”这个标题,很多人的第一反应可能是:这又是一个把两个流行工具强行组合的“缝合怪”项目。但如果你真的在尝试用 AI 编排器(比如 LangChain、Flowise、Dify 或者一些自…

2026/8/25 19:48:13

锁定直播!3D打印资源库直击Formnext深圳展

8月26日至28日,一年一度的Formnext深圳3D打印展即将开启,3D打印资源库也将再次奔赴展会现场,为行业带来一线报道与现场直播。展会名称: Formnext Asia深圳国际3D打印、增材制造及精密成型展览会展会地点: 深圳国际会展…

2026/8/25 19:48:13

AI视频模型LoRA微调实战:从数据准备到训练部署全流程指南

这次我们来看一个 AI 视频模型训练与微调的实战教程。如果你对 Stable Video Diffusion、SVD、AnimateDiff 这类视频生成模型感兴趣,想自己训练一个能生成特定风格、特定角色或特定动作的视频模型,那么这篇文章就是为你准备的。我们将聚焦于一个核心且高…

2026/8/25 19:43:12

技术面试第三天:算法与系统设计深度解析

1. 项目概述"机试day3"这个标题看起来像是一个技术面试或编程考核的第三天记录。作为经历过无数次技术面试的过来人,我深知这类考核对开发者职业生涯的重要性。机试通常考察的是应聘者的实际编码能力、问题解决思维和代码质量把控,而不仅仅是理…

2026/8/25 1:04:19

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 11:48:27

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/25 16:56:43

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 0:04:14

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory Meta Description:GetQzonehistory 是一个QQ空间历史说…

2026/8/25 0:04:14

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/24 13:42:17

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/24 18:13:48

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/25 1:08:14

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…