JavaScriptで文字列を連結する3つの方法があります。 このチュートリアルでは、さまざまな方法とそれらの間のトレードオフ。
+演算子
同じ+
二つの数字を追加するために使用する演算子は、文字列を連結するために使用することができます。
const str = 'Hello' + ' ' + 'World';str; // 'Hello World'
+=
を使用することもできます。a += b
はa = a + b
の省略形です。,
let str = 'Hello';str += ' ';str += 'World';str; // 'Hello World'
+
演算子の左側が文字列の場合、JavaScriptは文字列に右辺を強制します。 つまり、オブジェクト、数値、null
、およびundefined
を連結しても安全です。
let str = 'Values: ';str += 42;str += ' ';str += {};str += ' ';str += null;str; // 'Values: 42 null'
+
および+=
演算子は最新のJavaScriptエンジンで高速なので、JavaのStringBuilderクラスのようなものを心配する必要はありません。,
Array#join()
Array#join()
関数は、配列内のすべての要素を連結して新しい文字列を作成します。 たとえば、
.join(''); // 'Hello World'
join()
の最初のパラメータは、セパレータと呼ばれます。 デフォルトでは、分離子は単一のカンマ','
です。
.join(); // 'a,b,c'
任意の区切り文字を渡すことができます。 区切り文字を使用すると、同じ文字を何度も繰り返している場合、文字列を連結するための優先選択がArray#join()
になります。, たとえば、単語の配列を結合するセパレータとして' '
を使用することができます。
// 'Twas the night before Christmas'.join(' ');
または'/'
URLフラグメントを結合するには
// 'masteringjs.io/tutorials/fundamentals/string-concat'.join('/');
セパレータはArray#join()
文字列を連結するための非常に柔軟な方法。 可変数の文字列を結合したい場合は、通常、join()
for
+
ループではなく、join()
を使用する必要があります。,
String#concat()
JavaScript文字列には組み込みのconcat()
メソッドがあります。 concat()
関数は、一つ以上のパラメータを受け取り、変更された文字列を返します。 JavaScriptの文字列は不変であるため、concat()
は文字列を変更しません。
concat()
を使用することの欠点は、str1
が文字列であることを確認する必要があることです。文字列以外のパラメーターをconcat()
に渡すことはできますが、TypeErrorifstr == null
。,
// If `str` is null or not a string, can't use `concat()`const str = 'Values: ';// 'Values: 42 null'str.concat(42, ' ', null);
concat()
関数は、+
演算子よりもエラーケースが多いため、ほとんど使用されません。 たとえば、たまたま配列になった値に対してconcat()
を呼び出すと、予期しない動作が発生します。 あなたが使用する必要があります+
の代わりにconcat()
非常に正当な理由がない限り。,
concat()
を使用する必要がある場合は、空の文字列で呼び出すのが通常最善です。
''.concat('Hello', ' ', 'World');
その他の基礎チュートリアル
- JavaScriptのグローバル変数
- Javascriptの`NaN`をチェックする方法
- JavaScriptの列挙型
- JavaScriptのトリム文字列
- javascriptでオブジェクトをフィルタリングする方法
- javascriptでforeach()を使用する方法
- javascriptで時間を無視して二つの日付を比較する