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

Posts les plus consultés de ce blog

Comment signer la connexion OKEx API version 5 avec websockets ?

Détecter les appuis sur les touches fléchées en JavaScript

Créer un fichier CSV à partir d'un fichier texte avec des jetons d'en-tête à l'aide de scripts shell