如何压平V8的ConsString?

JavaScript V8引擎(Chrome,节点)在内部使用ConsString结构来表示串联的string。

把这个结构扁平化为一个简单的string,我可以在网上查到的一种方法是使用string.charCodeAt(0) 。 但是,这似乎不再有效(在Chrome 54上testing)。

有没有另一种方法来强制V8扁平化ConsString结构?

我在创build之后使用这些string的方式将从扁平string中受益(例如,减less的内存使用情况)。

Number(str)仍然使内部string变平。 有一个npm模块,flatstr,就是这样做的。 这样你的代码就不是看似随机的Number()调用。 请参阅https://www.npmjs.com/package/flatstr