let a = 12, b = 3;
[a, b] = [b, a];
L'ES6, ou ECMAScript 2015, a introduit une multitude de nouvelles fonctionnalités pour moderniser le langage JavaScript et le rendre plus efficace. Parmi ces nouveautés, on trouve une nouvelle manière d'affecter des variables, en utilisant des tableaux.
Prenons l'exemple du code dans notre question :
let a = 12, b = 3;
[a, b] = [b, a];
Ce que fait le code ci-dessus est assez simple mais puissant : il échange les valeurs de a
et b
, sans avoir besoin d'une variable temporaire.
Avant l'ES6, pour échanger les valeurs de deux variables, nous devions utiliser une variable temporaire. Voici une démonstration :
let a = 12, b = 3;
let temp;
temp = a;
a = b;
b = temp;
Maintenant, avec l'ES6, c'est beaucoup plus simple et plus propre. L'expression [a, b] = [b, a];
est en réalité une destructuration de tableau. À gauche du signe égal, nous avons un tableau de variables, et à droite, un tableau de valeurs. L'ES6 attribue simplement chaque valeur à sa variable correspondante - résultant en une inversion des valeurs initiales de a
et b
.
C'est une manière alternative d'attribuer des variables en JavaScript, qui peut s'avérer très utile pour des opérations comme l'échange de valeurs, le passage de paramètres à des fonctions, et plus encore.
Il est important de rappeler que les meilleures pratiques en JavaScript recommandent d'éviter les variables globales. Dans cet exemple, a
et b
sont déclarées avec let
, ce qui garantit qu'elles sont limitées à la portée du bloc actuel.
En conclusion, la possibilité d'affecter des variables à l'aide de la destructuration de tableau en ES6 est une fonctionnalité qui peut simplifier votre code et le rendre plus lisible. C'est certainement une compétence utile à ajouter à votre boîte à outils de développeur JavaScript.