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

La fonction GCP Cloud pour écrire des données dans BigQuery s'exécute avec succès, mais les données n'apparaissent pas dans la table BigQuery

Erreur Symfony : "Une exception a été levée lors du rendu d'un modèle"

Le shell POSIX (sh) redirige stderr vers stdout et capture stderr et stdout dans des variables