JavaScript中有字符串池的概念吗?我们可以获取仅引用一个 String 对象的值/键吗?

2024-05-04

我有一个大型 json 映射,其中包含大约 100 万个对象,每个对象包含大约 200 个键值对。 例如。[{key1 : val1, key2 : val2, ...}, {key1 : val3, key2 : val4, ...}]

正如您所看到的,键在这里被重复,每个键都意味着一个新的 String 对象。 有没有其他方法可以让我说所有重复的键都应该指向同一个 String 对象以减少映射的内存大小。根据上述统计数据,浏览器会消耗超过 1Gb 的内存。


正如您所看到的,键在这里被重复,每个键都意味着一个新的 String 对象。

好吧,不,他们每个人都有一根绳子原始。尽管有细微的区别,但 JavaScript 两者兼而有之:

var sp = "primitive";
var so = new String("object");

JavaScript中有字符串池的概念吗?

不是指您可以有意调用的任何外部事物,例如 Java 的intern.

给定的 JavaScript 引擎(V8、SpiderMonkey 等)可能会也可能不会在幕后重用字符串原语作为优化;它can因为字符串在 JavaScript 中是不可变的,但它是否曾经成为开发优先级列表的顶部......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript中有字符串池的概念吗?我们可以获取仅引用一个 String 对象的值/键吗? 的相关文章

随机推荐