String.prototype.padStart()

Complète une chaîne à gauche avec le texte donné jusqu’à ce qu’elle atteigne la longueur indiquée. Idéal pour les zéros initiaux.

Renvoie
Une nouvelle chaîne d’au moins targetLength caractères, complétée à gauche.
Modifie l’original
Non
Sur cette page

Exemple

#
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'))
Console
05:09
000042

Définition et utilisation

#

La méthode padStart() ajoute des caractères au début d’une chaîne jusqu’à ce qu’elle atteigne la longueur voulue. Par défaut, elle complète avec des espaces, mais vous pouvez fournir votre propre texte, comme "0". Si la chaîne est déjà assez longue, elle revient inchangée.

Elle sert le plus souvent à mettre en forme des nombres : minutes et secondes (05:09), numéros de commande avec des zéros initiaux, ou alignement de colonnes de texte à droite. Convertissez d’abord le nombre en chaîne, par exemple avec String(n), car padStart() est une méthode de chaînes.

Quand le texte de complément est plus long que nécessaire, il est tronqué. L’original ne change pas ; la méthode renvoie une nouvelle chaîne.

Syntaxe

#
Syntaxe
string.padStart(targetLength)
string.padStart(targetLength, padString)

Paramètres

#
  • targetLength

    number

    Longueur visée du résultat. Si elle est inférieure ou égale à la longueur de la chaîne, celle-ci revient inchangée.
  • padString

    string, optionnel

    Texte utilisé pour compléter, répété et tronqué si besoin. Par défaut, une espace.

Plus d’exemples

#
Aligner des nombres à droite
JavaScript
const scores = [
  ['Léa', 1200],
  ['Lucas', 85],
  ['Emma', 430]
]

for (const [name, points] of scores) {
  console.log(name.padEnd(6) + String(points).padStart(5))
}
Console
Léa 1200
Lucas 85
Emma 430
Masquer et tronquer le complément
JavaScript
console.log('4815'.padStart(12, '*'))
console.log('7'.padStart(4, 'ab'))
console.log('Texte long'.padStart(3))
Console
********4815
aba7
Texte long

Compatibilité des navigateurs

#

Largement disponible

Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • padStart() fonctionne sur des chaînes. Pour un nombre, écrivez String(n).padStart(2, "0"), car l’appeler directement sur un nombre lève une TypeError.
  • Pour mettre en forme des dates et des heures selon les conventions locales, pensez aussi à Intl.DateTimeFormat, qui ajoute lui-même les zéros initiaux.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.