JavaScript的Record和Tuple怎么用(javascript,record,tuple,开发技术)

时间:2024-04-27 19:51:42 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    JavaScript%E7%9A%84Record%E5%92%8CTuple%E6%80%8E%E4%B9%88%E7%94%A8

JavaScript即将推出两个新的数据类型:Record和Tuple,这俩是啥呢?其实就是一个只读的Object和Array,其实在其它语言中已经有类似的数据类型了,例如 Python 中也有 Tuple(元祖)这一类型,作用也是一个只读的数组(在Python里叫只读的列表),一起来了解一下,这个特性是一个第2阶段提案(即差不多稳了)。

其实就是在原先的对象和数组前面加了个#

Record和Tuple的语法跟对象和数组是一样的,所以?

为啥报错了啊?开头有提到哦~因为这两个类型是只读的Object和Array

在平时的开发中,数组与数组、对象与对象 都不适合直接用===进行比较判断,因为每个生成的对象在内存中的地址都不一样

要想真正比较两个数组或对象是否相等(即我们想要的内容都一样),需要遍历递归去一一对比,而现在呢?Record和Tuple能否解决这一问题呢?

可以看到,只要内部内容一致,即使是两个分别生成的Record或Tuple比较一下,也是相等的

我可以用对象Record和Tuple将普通的对象和数组转换

我们也可以对Record和Tuple使用扩展运算符

现在不是有JSON.parse和JSON.stringfy两个方法嘛,据说草案中还提到一个不错的想法,那就是给 JSON 对象新增一个parseImmutable方法,功能应该就是直接将一个 Record字符串或Tuple字符串 解析成对应的Record和Tuple对象

如果你想现在体验该功能,可以装一下babel的插件

在目录下创建.babelrc,内容如下:

再创建一个index.js,内容如下:

执行一下babel的命令编译一下

输出得到的compiled.js文件内容如下:

最后执行compiled.js即可获得结果

了解了那么多的内容,印象最深刻的应该就是只读这个特性,那么基于这个特性,Record 和 Tuple 有哪些应用场景呢?

用于保护一些数据,比如函数的返回值、对象内部的静态属性...

既然具有只读的特性,即不可变对象,那应该也可以作为对象的 key 值吧?

本文:JavaScript的Record和Tuple怎么用的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Vue中的eventBus怎么使用下一篇:

6 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18