Variables "variables" en JavaScript
Je sais qu'il est possible en PHP d'avoir des variables "variables". Par example,
$x = "variable";
$$x = "Hello, World!";
echo $variable; // Displays "Hello, World!"
Est-il possible de faire référence à une variable par son nom en tant que chaîne en JavaScript ? Comment serait-ce fait?
Solution du problème
tl;dr : N'utilisez paseval !
Il n'y a pas de solution unique pour cela. Il est possible d'accéder dynamiquement à certaines variables globales via window, mais cela ne fonctionne pas pour les variables locales à une fonction. Les variables globales qui ne deviennent pas une propriété de windowsont des variables définies avec letet const, et classes.
Il y a presque toujours une meilleure solution que d'utiliser des variables variables ! Au lieu de cela, vous devriez regarder les structures de données et choisir celle qui convient à votre problème.
Si vous avez un ensemble fixe de noms, tels que
// BAD - DON'T DO THIS!!!
var foo = 42;
var bar = 21;
var key = 'foo';
console.log(eval(key));
Commentaires
Enregistrer un commentaire