18

JavaScriptで文字列に変数を挿入する最良の方法は何ですか? これではないと思います:

var coordinates = "x: " + x + ", y: " + y;

Java では、Strings は不変であり、上記のようなことを行うと、不必要にStrings を作成して破棄します。Ruby も同様で、上記のことを行う優れた方法があります。

coordinates = "x: #{x}, y: #{y}"

JavaScript に似たようなものはありますか?

4

4 に答える 4

2

JavaScript では問題ありません。sprintforString.formatに相当する組み込みの適切なものはありませんが、独自の を構築できます

「不要な」文字列オブジェクトについて心配する必要はありません。それは間違いなくマイクロ最適化です。ほんの少しのパフォーマンスやメモリの最適化が必要な場合に対処しますが、分散ソフトウェアではおそらく必要ありません。

于 2013-09-30T22:32:43.873 に答える
1

何らかの理由でこれを 1 秒間に何度も実行し、呼び出しごとに文字列を何度も参照している場合は、いつでも文字列自体を変数として格納できます。

var preX = 'x: '
  , preY = 'y: '
  , coords
  ;
coords = preX + x + preY + y;

もちろん、これはベンチマーク/プロファイリングによってサポートされる必要がありますが、フレームごとに多くの文字列を作成すると、多くの場合、不必要なガベージの原因となり、結果的にジャンクが発生する可能性があります。

于 2013-09-30T22:38:59.713 に答える