不可变数据集合 Immutable.js

BSD
JavaScript 查看源码»
跨平台
Facebook
2014-09-24
叶秀兰
温馨提示:该项目除了使用 BSD 协议授权外,还需遵守附加的专利授权

Immutable 是 Facebook 开发的不可变数据集合。不可变数据一旦创建就不能被修改,使得应用开发更简单,允许使用函数式编程技术,比如惰性评估。Immutable JS 提供一个惰性 Sequence,允许高效的队列方法链,类似 mapfilter ,不用创建中间代表。

immutable 通过惰性队列和哈希映射提供 Sequence, Range, Repeat, Map, OrderedMap, Set 和一个稀疏 Vector

开始使用

使用 npm 安装 immutable

npm install immutable

每个模块都要包括:

var Immutable = require('immutable'); var map = Immutable.Map({a:1, b:2, c:3});

浏览器

在浏览器中使用 immutable,需要下载 dist/Immutable.min.js

然后,作为脚本标签添加到你的页面中:

<script src="Immutable.min.js"></script> 
<script>
 var map = Immutable.Map({a:1, b:2, c:3});
 map = map.set('b', 20);
 map.get('b'); // 20 
</script>

或者使用 AMD 加载器 (比如 RequireJS):

require(['./Immutable.min.js'], function (Immutable) {
     var map = Immutable.Map({a:1, b:2, c:3});
     map = map.set('b', 20);
     map.get('b'); // 20 });
的码云指数为
超过 的项目
加载中

评论(2)

jimmylu
jimmylu
这个使用场景是啥?和underscore之类的区别是啥 Immutable.js
开源中国匿名会员
开源中国匿名会员
看起来很牛逼的样子。 #Immutable.js#

Immutable.js v4.0.0-rc.11 发布,不可变数据集合

Immutable.js 4.0.0-rc.11 发布了,Immutable 是 Facebook 开发的不可变数据集合。不可变数据一旦创建就不能被修改,使得应用开发更简单,允许使用函数式编程技术,比如惰性评估。 此次版本的...

2018/10/28 07:08

Immutable.js v4.0.0-rc.9 发布,不可变数据集合

Immutable.js 4.0.0-rc.9 发布了,Immutable 是 Facebook 开发的不可变数据集合。不可变数据一旦创建就不能被修改,使得应用开发更简单,允许使用函数式编程技术,比如惰性评估。 此次版本的...

2017/10/19 06:39

Immutable.js v4.0.0-rc.7 发布,不可变数据集合

Immutable.js 4.0.0-rc.7 发布了,Immutable 是 Facebook 开发的不可变数据集合。不可变数据一旦创建就不能被修改,使得应用开发更简单,允许使用函数式编程技术,比如惰性评估。 更新内容:...

2017/10/06 06:24

Immutable.js v4.0.0-rc.3 发布,不可变数据集合

Immutable.js 4.0.0-rc.3 发布了,Immutable 是 Facebook 开发的不可变数据集合。不可变数据一旦创建就不能被修改,使得应用开发更简单,允许使用函数式编程技术,比如惰性评估。 更新内容正...

2017/10/01 07:18

Immutable.js v4.0.0-rc.2 发布,不可变数据集合

Immutable.js 4.0.0-rc.2 发布了,Immutable 是 Facebook 开发的不可变数据集合。不可变数据一旦创建就不能被修改,使得应用开发更简单,允许使用函数式编程技术,比如惰性评估。 本次更新内...

2017/03/14 11:08

Immutable.js v4.0.0-rc.1 发布,不可变数据集合

Immutable.js v4.0.0-rc.1 发布了,这是一个预览版,因此这里的更新日志不会包含所有的更新内容,查看提交记录以了解完整更新内容。更新内容如下: 重大变更: The Iterable class has been ...

2017/03/12 07:19

Immutable.js 3.8.1 发布,不可变数据集合

Immutable.js 3.8.1 发布了,Immutable 是 Facebook 开发的不可变数据集合。不可变数据一旦创建就不能被修改,使得应用开发更简单,允许使用函数式编程技术,比如惰性评估。Immutable JS 提供...

2016/04/19 07:25

Immutable.js 3.8.0 发布,不可变数据集合

Immutable.js 3.8.0 发布了。 更新内容: 新增: Now exports Flow types (#805) Now exports typings for TypeScript use. (#808) Cursor TypeScript definitions (#765) No longer warns ...

2016/04/17 07:22

Immutable.js 3.7.6 发布,不可变数据集合

Immutable.js 3.7.6 发布,更新内容如下: Fixed issue where lastIndexOf did not always return the correct value #703 mergeDeep now has more opportunities to for the "return self"...

2015/12/17 07:47

Immutable.js 3.7.4 发布,不可变数据集合

Immutable.js 3.7.4 发布,此版本主要有以下更新: Bug 修复: isSuperset 可以被队列的数值召回 新特性: contrib/Cursor 能正确支持 Record tsc 可以从节点模块中定义类型 详细信息请查看发...

2015/06/19 07:09

没有更多内容

加载失败,请刷新页面

暂无问答

前端进阶 -js数据结构类型扩展:immutable-js(10)

相对java,.net之类的强类型语言,js有一点很大的区别就是,数据结构只有array与object,并且都是动态可变的,而java有List, Set, Map等数据结构。所以,为了能在js中也使用这些数据结构,i...

2018/09/22 22:15
4
0
ES6之"let"能替代"var"吗?

译者按: 使用let的确会比var安全很多。 <!-- more --> 原文: Why You Shouldn’t Use ‘var’ Anymore 译者: Fundebug 为了保证可读性,本文采用意译而非直译。 我已经使用ES2015(ES6)的语法...

2017/05/05 14:36
14
0
facebook immutable.js

immutable react

2017/11/07 16:18
20
0
【探秘ES6】系列专栏(七):箭头函数

新一代JavaScript标准ES6正式发布。【探秘ES6】系列专栏将一一剖析ES6的诸多新特性,让Web开发者对此有清晰全面的了解。本文为系列的第七篇,带你了解ES6的箭头函数。

2015/11/08 19:13
154
0
react如何通过shouldComponentUpdate来减少重复渲染

在react开发中,经常会遇到组件重复渲染的问题,父组件一个state的变化,就会导致以该组件的所有子组件都重写render,尽管绝大多数子组件的props没有变化 render什么时候会触发 首先,先上一...

07/10 20:45
33
0
JS是按值传递还是按引用传递?

最近遇到个有趣的问题:“JS中的值是按值传递,还是按引用传递呢?” 在分析这个问题之前,我们需了解什么是按值传递(call by value),什么是按引用传递(call by reference)。在计算机科学里...

2015/02/27 17:29
8
0
immutability因React官方出镜之使用总结分享!

引言   之前项目中遇到数据拷贝、引用之间数据层级嵌套过深,拷贝的值相互之间影响的问题,后来引入了immutability-helper,使用过程中的一些总结,跟大家分享下,至于为什么不是immutable...

2018/11/05 08:40
1K
0
JS中的类型以及类型转换

在文章开始,先提一个问题,在JS中,1+‘1’-1的值是多少?答案可以在文章中找到。 JS存在以下几种数据类型:Number, String, Object, Function, Null, Undefined, Boolean, Array, Date, Ex...

2012/06/05 17:08
556
0
react系列(16)不可突变的数据结构

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zeping891103/article/details/83834953 JS中的对象一般是可变的(Mutable),因为使用了引用赋值,新的对象简...

2018/11/28 18:23
109
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部