ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の文字列は不変ですか?効率的な連結には文字列ビルダーが必要ですか?
JavaScript 文字列は不変ですか? JavaScript に「文字列ビルダー」は必要ですか?
JavaScript 文字列は不変です。つまり、作成後に変更することはできません。たとえば、myString[2] = 'c' という構文を使用して文字列内の文字を変更しようとしても、元の文字列は変更されません。代わりに、トリムやスライスなどの文字列操作メソッドは、必要な変更を加えた新しい文字列を作成します。
同じ文字列に対して複数の参照が存在する場合でも、1 つを変更しても他のものには影響しません。次の例を考えてみましょう。
let a = b = "hello"; a = a + " world"; // b remains unchanged
誤解を解く: 文字列の連結は非効率ではない
JavaScript では文字列の連結が遅いと広く信じられていますが、ベンチマークこれは真実ではないことを明らかにした。実際、連結に Array.join を使用することは、単に文字列を直接連結するよりもそれほど高速ではありません。
サンプル ベンチマーク:
これを実証するために、次のテストが実施されました。
を使用せずに文字列を直接追加します。中間ストレージまたはメソッド。
どちらの場合も、定数値とランダムな文字列が追加されました。結果は、連結される文字列の種類に関係なく、両方のアプローチがほぼ同じように実行されることを示しています。
結論
JavaScript 文字列は不変であり、パフォーマンスの最適化のために「文字列ビルダー」を使用する必要はありません。 JavaScript で文字列を直接連結するのは遅くないため、ほとんどの状況で推奨される方法です。以上がJavaScript の文字列は不変ですか?効率的な連結には文字列ビルダーが必要ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。