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

ES2023 新特性解析_数组与对象的现代化操作指南

1. ES2023 简介

ECMAScript 是 JavaScript 的标准化版本,ES2023(即 ECMAScript 2023)是该系列标准的最新一版,于 2023 年正式发布。它延续了近年来对开发者体验和代码可维护性的优化趋势,引入了一系列实用的新特性。

1.1 什么是 ES2023?

ES2023 包含多个新增功能,主要集中在数组、对象以及异步编程方面,强调不可变性、函数式风格,并提升代码的安全性和表达力。

1.2 ECMAScript 版本演进简述

版本发布年份核心特性
ES52009JSON 支持、严格模式等
ES6 (ES2015)2015类、模块、箭头函数、解构等
ES2016~2022每年更新.includes()Promise.finally()?. 运算符等
ES20232023Array.prototype.with, toSorted, Object.hasOwn, 异步资源清理等

2. Array.prototype.with 方法详解

2.1 语法与基本用法

const arr = [1, 2, 3, 4];
const newArr = arr.with(1, 10); // 替换索引 1 处的值为 10
console.log(newArr); // [1, 10, 3, 4]
console.log(arr);    // [1, 2, 3, 4] 原数组未改变
  • 负数索引表示从末尾倒数:
    const nums = [10, 20, 30];
    console.log(nums.with(-1, 99)); // [10, 20, 99]
    

2.2 不可变性(Immutability)优势

with 方法不会修改原数组,而是返回一个新数组副本,非常适合在 React、Redux 等状态管理中使用,避免副作用。

const [state, setState] = useState([1, 2, 3]);
setState(prev => prev.with(0, 100));

2.3 与 splice 的对比

特性with(index, value)splice(start, deleteCount, item)
是否修改原数组❌ 否✅ 是
返回值新数组被删除的元素数组
可读性更直观参数复杂

2.4 使用场景与示例代码

适用

http://www.lryc.cn/news/589651.html

相关文章:

  • ffmpeg音视频处理大纲
  • 【删库跑路】一次删除pip的所有第三方库
  • Python语法入门之装饰器的基本用法
  • 21-C#的委托简单使用-1
  • 移动碰撞法 ——套料排版算法——CAD c#
  • 一文读懂循环神经网络—门控循环单元
  • Agentic AI 的威胁与缓解措施
  • 李白周游记50篇
  • MySQL锁机制与SQL优化详解
  • 学习C++、QT---26(QT中实现记事本项目实现文件路径的提示、C++类模板、记事本的行高亮的操作的讲解)
  • 应用部署作业-02-流程
  • C++-linux系统编程 8.进程(二)exec函数族详解
  • Qt .pro中的.pri详解(四)
  • 【Trea】Trea国际版|海外版下载
  • 【NBA】75 Greatest NBA Players of All Time
  • 【Android】日志的使用
  • 永磁同步电机控制算法--弱磁控制(定交轴CCR-FQV)
  • 内存的基础相关知识,什么是内存,内存管理
  • 【MCU控制 初级手札】1.1 电阻
  • 高等数学强化——导学
  • 清理C盘--办法
  • 腾讯云智一面---后台开发(凉经)
  • 课题学习笔记1——文本问答与信息抽取关键技术研究论文阅读(用于无结构化文本问答的文本生成技术)
  • linux系统------HAProxy 配置
  • 部署本地大模型 Ollama + LLaMA3
  • 19.如何将 Python 字符串转换为 Slug
  • 希尔排序:突破传统排序的边界
  • JAVA进阶--设计模式
  • 华为OD 特异双端队列
  • TDengine GREATEST 和 LEAST 函数用户手册