JavaScript:
Trouver la longueur d'une chaîne de caractères
Comment faire :
let message = "Bonjour le monde!";
let longueur = message.length; // On obtient la longueur de la chaîne
console.log(longueur); // Affiche 17
let vide = "";
console.log(vide.length); // Affiche 0, même les chaînes vides ont une longueur
let avecEspaces = " espaces ";
console.log(avecEspaces.length); // Affiche 13, les espaces comptent!
Exploration en profondeur
Historiquement, la propriété .length
existe depuis les premiers jours de JavaScript ; elle est simple et directe. Il n’y a pas vraiment d’alternatives pour obtenir la longueur d’une chaîne en JS - .length
est votre outil de base. Côté implémentation, .length
est une propriété prédéfinie du prototype String, ce qui la rend disponible pour toutes les chaînes.
Une chose à garder à l’esprit est que .length
renvoie le nombre d’unités de code UTF-16 dans la chaîne, pas nécessairement le nombre de caractères Unicode “réels”, ce qui pourrait être différent à cause des caractères composés (ceux utilisant des “surrogates pairs”).
let emoji = "😀";
console.log(emoji.length); // Affiche 2, car les emojis peuvent être composés de plusieurs unités de code
Pour compter des caractères dits “complexes”, vous pourriez devoir utiliser des fonctionnalités de l’ES2015 comme [...str].length
ou Array.from(str).length
, qui traitent correctement les caractères à plusieurs unités de code.
Voir également
- MDN Web Docs sur
.length
: String.length - JavaScript | MDN - ECMAScript 2015 (ES6) et l’utilisation des points de code Unicode : ECMAScript 2015 (6th Edition, ECMA-262)
- Un aperçu approfondi des unités de code UTF-16 : Understanding UTF-16