JavaScriptNapisy

String.prototype.padStart()

Dopełnia napis z lewej strony podanym tekstem, aż osiągnie wskazaną długość. Idealne do zer wiodących.

Zwraca
Nowy napis o długości co najmniej targetLength, dopełniony z lewej strony.
Zmienia oryginał
Nie
Na tej stronie

Przykład

#
JavaScript
const minutes = 5
const seconds = 9

const time = `${String(minutes).padStart(2, '0')}:${String(seconds).padStart(2, '0')}`
console.log(time)
console.log('42'.padStart(6, '0'))
Konsola
05:09
000042

Definicja i zastosowanie

#

Metoda padStart() dokleja znaki na początku napisu, dopóki nie osiągnie on żądanej długości. Domyślnie dopełnia spacjami, ale możesz podać własny tekst, np. "0". Jeśli napis jest już wystarczająco długi, wraca bez zmian.

Najczęściej służy do formatowania liczb: minut i sekund (05:09), numerów zamówień z zerami wiodącymi czy wyrównywania kolumn tekstu do prawej. Liczbę najpierw zamień na napis, np. przez String(n), bo padStart() to metoda napisów.

Gdy tekst dopełniający jest dłuższy, niż potrzeba, zostanie przycięty. Oryginał się nie zmienia, metoda zwraca nowy napis.

Składnia

#
Składnia
string.padStart(targetLength)
string.padStart(targetLength, padString)

Parametry

#
  • targetLength

    number

    Docelowa długość wyniku. Jeśli jest mniejsza lub równa długości napisu, napis wraca bez zmian.
  • padString

    string, opcjonalny

    Tekst używany do dopełnienia, powtarzany i w razie potrzeby przycinany. Domyślnie spacja.

Więcej przykładów

#
Wyrównanie liczb do prawej
JavaScript
const scores = [
  ['Ania', 1200],
  ['Kuba', 85],
  ['Ola', 430]
]

for (const [name, points] of scores) {
  console.log(name.padEnd(6) + String(points).padStart(5))
}
Konsola
Ania 1200
Kuba 85
Ola 430
Maskowanie i przycinanie dopełnienia
JavaScript
console.log('4815'.padStart(12, '*'))
console.log('7'.padStart(4, 'ab'))
console.log('Długi napis'.padStart(3))
Konsola
********4815
aba7
Długi napis

Obsługa przeglądarek

#

Szeroko dostępne

Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.

  • Chrome
  • Edge
  • Firefox
  • Safari

Dobre praktyki

#
  • padStart() działa na napisach. Dla liczby napisz String(n).padStart(2, "0"), bo wywołanie bezpośrednio na liczbie rzuci TypeError.
  • Do formatowania dat i godzin według polskich zwyczajów rozważ też Intl.DateTimeFormat, które samo doda zera wiodące.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.