138 votes

Javascript Comment définir plusieurs variables sur une seule ligne ?

En lisant la documentation en ligne, je ne sais pas comment définir correctement plusieurs variables JavaScript sur une seule ligne.

Si je veux condenser le code suivant, quelle est la manière correcte et "stricte" de définir plusieurs variables javascript sur une seule ligne ?

var a = 0;
var b = 0;

C'est ça :

var a = b = 0;

o

var a = var b = 0; 

etc...

1 votes

En savoir plus sur l'affectation multiple : Comment fonctionne l'affectation des variables en JavaScript ? . Je trouve ce modèle utile à l'intérieur d'une fermeture pour exposer les fonctions du constructeur : var $cls = my.namespace.Foo = function(args){ ... }

9voto

Dan Dascalescu Points 8165

Pour répondre spécifiquement à la question de l'OP, si vous voulez initialiser N variables avec la même valeur (par ex. 0 ), vous pouvez utiliser déstructuration des tableaux y Array.fill pour affecter aux variables un tableau de N 0 s :

let [a, b, c, d] = Array(4).fill(0);

console.log(a, b, c, d);

1voto

Notez que vous ne pouvez le faire qu'avec des nombres et des chaînes de caractères.

que vous pourriez faire...

var a, b, c; a = b = c = 0; //but why?

c++;
// c = 1, b = 0, a = 0;

0 votes

Et aussi des booléens, non ?

-1voto

CHP Points 1

C'est tout à fait correct :

var str1 = str2 = str3 = "value";

Et si l'on change une de leurs valeurs, la valeur des autres variables ne changera pas :

var str1 = str2 = str3 = "value";

/* Changing value of str2 */
str2 = "Hi Web!";

document.write("str1 = " + str1 + " - str2 = " + str2 + " - str3 = " + str3);

2 votes

Vous n'avez pas pris soin de lire les autres avertissements concernant le fait que str2 et str3 sont des variables globales, n'est-ce pas ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X