このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

String.prototype.concat()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

concat()String 値のメソッドで、文字列引数を呼び出し文字列に連結して、新しい文字列を返します。

試してみましょう

const str1 = "Hello";
const str2 = "World";

console.log(str1.concat(" ", str2));
// 予想される結果: "Hello World"

console.log(str2.concat(", ", str1));
// 予想される結果: "World, Hello"

構文

js
concat(str1)
concat(str1, str2)
concat(str1, str2, /* …, */ strN)

引数

str1, …, strN

str に連結する 1 つ以上の文字列です。引数なしで String.prototype.concat() を呼び出すことは技術的には可能ですが、文字列は不変であるため、目に見えるコピーは行われません(Array.prototype.concat() と同様に)。これは、引数として文字列の配列をスプレッドしており、その配列がたまたま空である場合にのみ現れます。

返値

提供された文字列を結合したテキストの入った新しい文字列です。

解説

concat() 関数は、文字列引数を呼び出し文字列に連結し、新しい文字列を返します。

引数が文字列型でない場合は、連結前に文字列値に変換されます。

concat() メソッドは加算/文字列結合演算子 (+, +=) にとても似ていますが、concat()引数を直接文字列に変換するのに対し、加算演算子はオペランドをまずプリミティブに変換します。詳しくは、 + 演算子のリファレンスページを参照してください。

concat() の使用

複数の文字列を連結してコンソールに表示する例を以下に示します。

js
const hello = "こんにちは、";
console.log(hello.concat("鈴木さん", "。良い日を。"));
// Hello, Kevin. Have a nice day.

const greetList = ["こんにちは", " ", "佐藤さん", "!"];
"".concat(...greetList); // "こんにちは 佐藤さん!"

"".concat({}); // "[object Object]"
"".concat([]); // ""
"".concat(null); // "null"
"".concat(true); // "true"
"".concat(4, 5); // "45"

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-string.prototype.concat

ブラウザーの互換性

関連情報