Learn JavaScript

padStart() - метод для добавления символов в начало строки в JavaScript

padStart() дополняет строку в начале, пока она не достигнет нужной длины.

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

Синтаксис

str.padStart(targetLength)
str.padStart(targetLength, padString)

Где:

  • targetLength - итоговая длина строки
  • padString - строка, которой нужно дополнять начало

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

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

console.log("5".padStart(3, "0")); // "005"

Если исходная строка короче, чем targetLength, в начало добавляются символы.

Если второй аргумент не передать

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

console.log("5".padStart(3)); // "  5"

Если строка уже достаточно длинная

Если длина строки уже равна targetLength или больше, метод вернёт исходную строку без изменений.

console.log("abc".padStart(2, "0")); // "abc"
console.log("abc".padStart(3, "0")); // "abc"

Как работает padString

Во втором аргументе можно передать любую строку.

console.log("5".padStart(4, "ab")); // "aba5"

Если padString длиннее, чем нужно, JavaScript возьмёт только нужную часть.

console.log("5".padStart(6, "ab")); // "ababa5"

Если padString - пустая строка, дополнения не будет.

console.log("5".padStart(3, "")); // "5"

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

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

const text = "5";
const result = text.padStart(3, "0");

console.log(text);   // "5"
console.log(result); // "005"

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

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

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

Пример:

const day = "7";

console.log(day.padStart(2, "0")); // "07"
const id = "42";

console.log(id.padStart(6, "0")); // "000042"

padStart() и padEnd()

padStart() дополняет строку слева, а padEnd() - справа.

console.log("5".padStart(3, "0")); // "005"
console.log("5".padEnd(3, "0"));   // "500"

Если важен именно левый отступ или ведущие символы, используют padStart().

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

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

let text = "5";

text.padStart(3, "0");
console.log(text); // "5"

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

let text = "5";

text = text.padStart(3, "0");
console.log(text); // "005"

Путать итоговую длину и количество добавляемых символов

console.log("5".padStart(3, "0")); // "005"

Число 3 здесь означает не “добавить три нуля”, а “сделать итоговую длину строки равной 3”.

Забывать, что по умолчанию добавляются пробелы

console.log("5".padStart(3)); // "  5"

Если нужны нули или другие символы, их нужно передать явно.

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

  • padStart(targetLength, padString) дополняет строку слева
  • метод возвращает новую строку
  • если padString не передан, используются пробелы
  • если строка уже длинная, результат не изменится
  • padStart() часто используют для ведущих нулей

Коротко

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