Quelle valeur cette expression va-t-elle retourner ?
[...[...'...']].length

Comprendre la Valeur des Expressions en JavaScript

L'expression donnée dans la question est [...[...'...']].length. Pour déchiffrer cette expression, nous devons comprendre deux concepts en JavaScript : l'opérateur de propagation (spread operator) et la propriété length.

L'operateur de Propagation

L'opérateur de propagation ... permet d'extraire les éléments des objets itérables tels que les tableaux ou les chaînes de caractères. Dans l'expression [...'...'], ... décompose la chaîne de caractères '...' en ses caractères individuels, pour former un tableau : ['.', '.', '.'].

La propriété length

La propriété length retourne la longueur d'un tableau en JavaScript. Dans le cas de notre tableau ['.', '.', '.'], la longueur est 3.

Mettant ces deux concepts ensemble, l'expression entière [...[...'...']].length signifie "crée un tableau qui contient les caractères individuels de la chaîne '...', puis détermine la longueur de ce tableau". Étant donné que la chaîne '...' contient trois caractères, la longueur du tableau est également 3.

Exemples Pratiques

L'opérateur de propagation et la propriété length sont extrêmement utiles pour manipuler et analyser les données en JavaScript. Par exemple, vous pouvez utiliser ces outils pour:

  • Décomposer une chaîne de caractères en un tableau de caractères:
let string = 'bonjour';
let chars = [...string];
console.log(chars);
// Affiche: ['b', 'o', 'n', 'j', 'o', 'u', 'r']
  • Compter le nombre de caractères dans une chaîne de caractères:
let string = 'bonjour';
let length = [...string].length;
console.log(length);
// Affiche: 7

Conseils et Meilleures Pratiques

L'opérateur de propagation et la propriété length sont des outils puissants, mais ils doivent être utilisés avec précaution:

  • Notez que la propriété length compte tous les éléments d'un tableau, y compris ceux qui ont la valeur undefined.
  • L'opérateur de propagation fonctionne non seulement avec les chaînes de caractères, mais aussi avec d'autres types itérables, comme les autres tableaux, les objets de type Map et Set, etc.
  • Faites attention à ne pas utiliser l'opérateur de propagation avec des objets non itérables, sinon une erreur sera générée.

Conclusion

La valeur de l'expression [...[...'...']].length est 3, résultant de la décomposition de la chaîne '...' en un tableau de trois éléments, puis de la détermination de la longueur de ce tableau. L'utilisation de l'opérateur de propagation et de la propriété length en JavaScript offre une manière concise de manipuler et d'interroger les chaînes de caractères et les tableaux.

Trouvez-vous cela utile?