Learn JavaScript

concat() - метод для объединения строк в JavaScript

concat() объединяет строки в одну.

Метод работает просто: берёт исходную строку и добавляет к ней одну или несколько других строк.

Синтаксис

str.concat(value1)
str.concat(value1, value2, ...)

Метод вызывается у строки и возвращает новую строку.

Как работает concat()

const text = "Hello";

console.log(text.concat(" world")); // "Hello world"

Можно передать сразу несколько значений:

const text = "Java";

console.log(text.concat("Script", " ", "course")); // "JavaScript course"

Исходная строка не меняется

Строки в JavaScript неизменяемы, поэтому concat() не меняет исходное значение.

const text = "Hello";
const result = text.concat(" world");

console.log(text);   // "Hello"
console.log(result); // "Hello world"

Несколько аргументов

concat() умеет объединять не только две строки, но и сразу несколько.

const result = "A".concat("B", "C", "D");

console.log(result); // "ABCD"

Это удобно, если нужно быстро собрать строку из нескольких кусков.

Не-строки приводятся к строке

Если передать не строку, JavaScript приведёт значение к строке.

console.log("Value: ".concat(123));      // "Value: 123"
console.log("Flag: ".concat(true));      // "Flag: true"
console.log("Data: ".concat(null));      // "Data: null"
console.log("Data: ".concat(undefined)); // "Data: undefined"

Это полезно знать, хотя в обычном коде такое поведение используют не слишком часто.

Когда это полезно

concat() удобно использовать, когда:

  • нужно объединить несколько строк
  • хочется явно показать, что идёт именно склеивание строк
  • код уже использует этот стиль

Пример:

const firstName = "Anna";
const lastName = "Smith";

console.log(firstName.concat(" ", lastName)); // "Anna Smith"

concat() и оператор +

По результату concat() и + часто делают одно и то же.

const firstName = "Anna";
const lastName = "Smith";

console.log(firstName.concat(" ", lastName)); // "Anna Smith"
console.log(firstName + " " + lastName);      // "Anna Smith"

Во многих случаях оператор + выглядит короче и привычнее.

concat() и шаблонные строки

В современном JavaScript для объединения строк очень часто используют шаблонные строки.

const firstName = "Anna";
const lastName = "Smith";

console.log(`${firstName} ${lastName}`); // "Anna Smith"

Если в строке есть переменные, шаблонные строки обычно читаются проще.

Почему concat() используют реже

concat() полностью рабочий метод, но в новом коде его часто используют реже, потому что:

  • + короче для простых случаев
  • шаблонные строки удобнее для переменных и длинных фраз

Поэтому concat() полезно знать, но чаще в проектах встречаются именно + и шаблонные строки.

Частые ошибки

Ожидать, что concat() меняет исходную строку

let text = "Hello";

text.concat(" world");
console.log(text); // "Hello"

Нужно сохранить результат:

let text = "Hello";

text = text.concat(" world");
console.log(text); // "Hello world"

Переусложнять простой случай

const name = "Anna";

console.log(name.concat("!")); // "Anna!"

Иногда проще и привычнее написать:

console.log(name + "!"); // "Anna!"

Быстрая памятка

  • concat() объединяет строки в одну
  • метод возвращает новую строку
  • исходная строка не меняется
  • можно передать сразу несколько аргументов
  • в современном коде часто вместо concat() используют + или шаблонные строки

Коротко

concat() - это метод строки в JavaScript, который объединяет несколько значений в одну строку. Он работает надёжно и просто, но в современном коде чаще уступает оператору + и шаблонным строкам.