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
targetLengthcaractères, complétée à gauche. - Modifie l’original
- Non
Exemple
#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'))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
#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
#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.log('4815'.padStart(12, '*'))
console.log('7'.padStart(4, 'ab'))
console.log('Texte long'.padStart(3))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, écrivezString(n).padStart(2, "0"), car l’appeler directement sur un nombre lève uneTypeError.- 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
#- String.prototype.padEnd()Complète une chaîne à droite avec le texte donné jusqu’à ce qu’elle atteigne la longueur indiquée.
- String.prototype.repeat()Renvoie une nouvelle chaîne composée du nombre indiqué de répétitions de l’original.
- String.prototype.lengthLa longueur d’une chaîne, c’est-à-dire le nombre d’unités de code UTF-16. La propriété est en lecture seule.
- Number.prototype.toFixed()Convertit un nombre en chaîne de caractères avec un nombre donné de décimales.
- Template literalsDes templates de texte entre guillemets inversés : ils insèrent des valeurs via ${} et peuvent s’étendre sur plusieurs lignes.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.