String.prototype.concat()

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

concat() 方法用于 String 值,将字符串参数连接到该字符串并返回一个新字符串。

试一试

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

console.log(str1.concat(" ", str2));
// Expected output: "Hello World"

console.log(str2.concat(", ", str1));
// Expected output: "World, Hello"

语法

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

参数

str1, …, strN

要连接到 str 的一个或多个字符串。虽然技术上允许,但使用零个参数调用 String.prototype.concat() 是无用的操作,因为它不会导致可观察的复制(类似于 Array.prototype.concat()),因为字符串是不可变的。它应该只会在你 展开 一个字符串数组作为参数,而该数组恰好为空时发生。

返回值

包含所提供字符串合并文本的新字符串。

描述

concat() 函数将字符串参数连接到调用字符串并返回一个新字符串。

如果参数不是字符串类型,则在连接之前会将它们转换为字符串值。

concat() 方法非常类似于 加法/字符串连接运算符+, +=),不同之处在于 concat()直接将参数强制转换为字符串,而加法运算符会先将操作数强制转换为原始类型。有关更多信息,请参阅 + 运算符 的参考页面。

示例

使用 concat()

以下示例将字符串合并成一个新字符串。

js
const hello = "Hello, ";
console.log(hello.concat("Kevin", ". Have a nice day."));
// Hello, Kevin. Have a nice day.

const greetList = ["Hello", " ", "Venkat", "!"];
"".concat(...greetList); // "Hello Venkat!"

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

规范

规范
ECMAScript® 2026 语言规范
# sec-string.prototype.concat

浏览器兼容性

另见