1. ホーム
  2. javascript

[解決済み] はStringBuffer.append()よりもパフォーマンスが低いのでしょうか?

2023-03-22 19:10:02

疑問点

私のチームでは、通常このように文字列の連結を行います。

var url = // some dynamically generated URL
var sb = new StringBuffer();
sb.append("<a href='").append(url).append("'>click here</a>");

明らかに以下の方が読みやすいですね。

var url = // some dynamically generated URL
var sb = "<a href='" + url + "'>click here</a>";

しかし、JSの専門家の主張では + 演算子は StringBuffer.append() . これは本当にそうなのでしょうか?

どのように解決するのですか?

Internet Explorer は、現在のところ、この問題に本当に苦しんでいる唯一のブラウザです。 (バージョン 5、6、7 はドッグ スローでしたが、8 ではそのような劣化は見られません。) さらに、IE は文字列が長くなればなるほど遅くなります。

連結する長い文字列がある場合、array.join テクニックを間違いなく使用します。 (または、可読性のために、この周りのいくつかの StringBuffer ラッパー。) しかし、文字列が短い場合は、気にする必要はありません。