immutable.js学习笔记(一)----- Immutable简介

本文介绍了Immutable.js,一种为JavaScript提供的高效不可变数据结构库。它简化了应用开发过程,避免了防御性复制,并通过简单的逻辑实现了高级的记忆和更改检测技术。文章详细描述了Immutable.js提供的多种数据结构及其优点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Immutable.js 介绍

Immutable.js 官方文档 : https://immutable-js.github.io/immutable-js/
关于Immutable的定义,官方文档是这样说的:

Immutable data cannot be changed once created, leading to much simpler application development, no defensive copying, and enabling advanced memoization and change detection techniques with simple logic. Persistent data presents a mutative API which does not update the data in-place, but instead always yields new updated data.
不可变的数据一经创建就无法更改,从而使应用程序开发更加简单,没有防御性的复制,并且可以使用简单的逻辑实现高级的记忆和更改检测技术。持久数据提供了一个变异的API,它不会就地更新数据,而是总是生成新的更新数据。

Immutable.js provides many Persistent Immutable data structures including: List, Stack, Map, OrderedMap, Set, OrderedSet and Record.
Immutable.js 提供许多持久不变的数据结构,包括:List、Stack、Map、OrderedMap、Set、OrderedSet和Record。

These data structures are highly efficient on modern JavaScript VMs by using structural sharing via hash maps tries and vector tries as popularized by Clojure and Scala, minimizing the need to copy or cache data.
这些数据结构在现代JavaScript vm上是高效的,通过Clojure和Scala推广的hash-maps尝试和vector尝试使用结构共享,最大限度地减少了复制或缓存数据的需要

Immutable.js also provides a lazy Seq, allowing efficient chaining of collection methods like map and filter without creating intermediate representations. Create some Seq with Range and Repeat.
Immutable.js还提供了lazy Seq,允许高效地链接map和filter等收集方法,而无需创建中间表示。用范围和重复创建一些序列。

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

二、 Immutable.js 优点

在这里插入图片描述

栗子:
没有使用immutable.js
在这里插入图片描述
使用immutable.js
在这里插入图片描述
详情参考:Immutable 详解及 React 中实践

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值