String.prototype.padStart / padEnd în JavaScript

Completează un text la stânga sau la dreapta până ajunge la lungimea dorită.

Sintaxă
sir.padStart(lungime, umplutura)
sir.padEnd(lungime, umplutura)

Ce face String.prototype.padStart / padEnd

padStart adaugă caractere la începutul textului, iar padEnd la sfârșit, până când textul are lungimea cerută. Implicit se adaugă spații.

Dacă textul este deja cel puțin atât de lung, este returnat neschimbat. Cel mai des se folosește pentru zerouri în față ("7" devine "07") și pentru coloane aliniate.

Parametri

Parametru Descriere
lungime Lungimea finală dorită.
umplutura Opțional. Textul folosit la completare. Implicit un spațiu.

Ce returnează

Un șir nou.

Exemple

Exemplul 1: Ora cu două cifre

const ore = 9;
const minute = 5;

console.log(`${String(ore).padStart(2, "0")}:${String(minute).padStart(2, "0")}`);
console.log("2026".padStart(2, "0"));

Rezultat

09:05
2026

Exemplul 2: Un mic tabel aliniat

const produse = [["Pâine", 6.5], ["Brânză", 34], ["Cafea", 129.9]];

for (const [nume, pret] of produse) {
  console.log(nume.padEnd(10, ".") + pret.toFixed(2).padStart(8) + " lei");
}

Rezultat

Pâine.....    6.50 lei
Brânză....   34.00 lei
Cafea.....  129.90 lei

Exemplul 3: Mascarea unui număr de card

const card = "4111111111111111";

console.log(card.slice(-4).padStart(card.length, "*"));

Rezultat

************1111

Greșeli frecvente

  • Apelezi padStart direct pe un număr: (7).padStart(2, "0") dă TypeError. Transformă întâi numărul în text cu String(7).

Comenzi înrudite

  • String.prototype.repeat: Returnează textul repetat de un anumit număr de ori.
  • toFixed: Formatează un număr cu un număr fix de zecimale. Returnează text.
  • String() / toString: Transformă orice valoare în text: numere, valori logice, tablouri, null și undefined.