Learn JavaScript

repeat() - метод для повторения строки в JavaScript

repeat() повторяет строку указанное количество раз.

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

Синтаксис

str.repeat(count)

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

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

const text = "ha";

console.log(text.repeat(3)); // "hahaha"

Если повторить строку один раз, вернётся та же строка:

console.log("hello".repeat(1)); // "hello"

Если count равен 0

Если передать 0, результатом будет пустая строка.

console.log("ha".repeat(0)); // ""

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

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

const text = "ha";
const result = text.repeat(3);

console.log(text);   // "ha"
console.log(result); // "hahaha"

Дробные значения

Если передать дробное число, дробная часть будет отброшена.

console.log("ha".repeat(2.5)); // "haha"

На практике обычно лучше передавать целое число, чтобы поведение было очевидным.

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

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

  • нужно повторить символ несколько раз
  • надо быстро собрать разделитель или отступ
  • хочется сгенерировать строку по количеству

Пример:

console.log("-".repeat(10)); // "----------"
const indent = " ".repeat(4);

console.log(indent + "text"); // "    text"

Какие ошибки бывают

Если передать отрицательное число, repeat() выбросит RangeError.

// "ha".repeat(-1); // RangeError

То же самое будет с Infinity.

// "ha".repeat(Infinity); // RangeError

repeat() и цикл

Иногда ту же задачу можно решить циклом, но repeat() обычно короче и понятнее.

console.log("*".repeat(5)); // "*****"

Для простого повторения одинаковой строки это самый удобный вариант.

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

Передавать отрицательное число

// "hello".repeat(-2); // RangeError

Количество повторений должно быть 0 или больше.

Ожидать, что исходная строка изменится

let text = "ha";

text.repeat(3);
console.log(text); // "ha"

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

let text = "ha";

text = text.repeat(3);
console.log(text); // "hahaha"

Передавать дробное число и не ожидать округления вниз

console.log("ha".repeat(2.9)); // "haha"

Лучше использовать целое значение, если нужен предсказуемый результат.

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

  • repeat(count) повторяет строку несколько раз
  • метод возвращает новую строку
  • исходная строка не меняется
  • при 0 возвращается пустая строка
  • отрицательные значения и Infinity вызывают RangeError

Коротко

repeat() - это метод строки в JavaScript, который повторяет строку указанное количество раз. Он особенно удобен, когда нужно быстро получить последовательность одинаковых символов или фрагментов текста.