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
Przykład
#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'))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
#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
#const scores = [
['Ania', 1200],
['Kuba', 85],
['Ola', 430]
]
for (const [name, points] of scores) {
console.log(name.padEnd(6) + String(points).padStart(5))
}console.log('4815'.padStart(12, '*'))
console.log('7'.padStart(4, 'ab'))
console.log('Długi napis'.padStart(3))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 napiszString(n).padStart(2, "0"), bo wywołanie bezpośrednio na liczbie rzuciTypeError.- 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
#- String.prototype.padEnd()Dopełnia napis z prawej strony podanym tekstem, aż osiągnie wskazaną długość.
- String.prototype.repeat()Zwraca nowy napis złożony z podanej liczby powtórzeń oryginału.
- String.prototype.lengthDługość napisu, czyli liczba jednostek kodu UTF-16. Właściwość jest tylko do odczytu.
- Number.prototype.toFixed()Zamienia liczbę na napis z podaną liczbą miejsc po przecinku.
- Template literalsSzablony tekstowe w odwróconych apostrofach: wstawiają wartości przez ${} i mogą zajmować wiele linii.
Widzisz błąd albo brakuje przykładu? Napisz do nas.