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, который объединяет несколько значений в одну строку. Он работает надёжно и просто, но в современном коде чаще уступает оператору + и шаблонным строкам.