String. prototype. length
La longueur d’une chaîne, c’est-à-dire le nombre d’unités de code UTF-16. La propriété est en lecture seule.
- Renvoie
- Un entier non négatif : le nombre d’unités de code UTF-16 dans la chaîne.
- Modifie l’original
- Non
Exemple
#const course = 'JavaScript'
const empty = ''
console.log(course.length)
console.log(empty.length)
console.log(course[course.length - 1])Définition et utilisation
#La propriété length indique de combien de caractères est composée une chaîne. Une chaîne vide "" a une longueur de 0, et le dernier caractère se trouve toujours à l’indice length - 1. Ce n’est pas une méthode, donc vous l’écrivez sans parenthèses.
Plus précisément, length compte des unités de code UTF-16. Les lettres ordinaires, y compris accentuées, occupent une unité, mais de nombreux emoji et symboles plus rares en occupent deux, c’est pourquoi "👍".length vaut 2. Pour compter le nombre de caractères visibles, [...text].length fonctionne mieux, mais pour les emoji composés de plusieurs parties (par exemple avec une couleur de peau), même cela ne suffit pas et il faut recourir à Intl.Segmenter.
Les chaînes sont immuables, donc length est en lecture seule. Vous ne pouvez pas raccourcir un texte en lui assignant un nombre plus petit, et en mode strict vous obtiendrez même une erreur. Pour couper un texte, créez une nouvelle chaîne avec slice().
Syntaxe
#string.lengthPlus d’exemples
#function validateNickname(nickname) {
const trimmed = nickname.trim()
if (trimmed.length < 3) return 'Pseudo trop court'
if (trimmed.length > 16) return 'Pseudo trop long'
return 'OK'
}
console.log(validateNickname('Al'))
console.log(validateNickname(' GuerrierDuCode '))
console.log(validateNickname('SuperProgrammeur2026'))const reaction = 'Super👍'
console.log(reaction.length)
console.log([...reaction].length)
console.log('café'.length)function truncate(text, max) {
return text.length > max ? text.slice(0, max - 3) + '...' : text
}
console.log(truncate('Introduction à la programmation', 15))
console.log(truncate('HTML', 15))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
#- Avec une limite de caractères, par exemple dans un champ de description, n’oubliez pas que les emoji peuvent compter double. Si la limite concerne ce que voit réellement l’utilisateur, comptez avec
[...text].length. - Pour vérifier qu’un champ est vide, retirez d’abord les espaces :
text.trim().length === 0.
Entrées associées
#- String.prototype.slice()Renvoie un fragment de la chaîne entre un indice de départ et un indice de fin (exclu). Prend en charge les indices négatifs.
- String.prototype.at()Renvoie le caractère à l’indice donné. Les indices négatifs se comptent depuis la fin, donc at(-1) est le dernier caractère.
- String.prototype.trim()Supprime les espaces blancs aux deux extrémités de la chaîne : espaces, tabulations et retours à la ligne.
- 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.
- Array.prototype.lengthLe nombre d’éléments du tableau, qui peut aussi être modifié.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.