JavaScript V8エンジン(Chrome、ノード)は、内部的にConsString構造体を使用して連結された文字列を表します。V8 ConsStringをフラット化する方法は?
この構造体を単純なStringにフラット化する方法の1つは、オンラインで言及したところではstring.charCodeAt(0)
を使用することです。しかし、これはもはや機能しないようです(Chrome 54でテスト済み)。
V8でConsString構造をフラット化する別の方法はありますか?
作成後にこれらの文字列を使用する方法は、平坦化された文字列(たとえば、メモリ使用量の削減)の恩恵を受けます。
ノードの内部動作についてはわかりませんが、連結された文字列から新しい 'String'を作成することはできません。例えば。 '新しい文字列(myConcatString)'。それともパフォーマンスに影響が出るのですか? – watzon
@ChrisW - いいえ、 'new String()'は平坦化を実行しません。代わりに、ソースと同じ内部表現を囲むラッパーを作成するだけです。 –
ああそうです。私は役に立つ入力がないと思います:/ – watzon