Вход

Просмотр полной версии : Как обратиться к переменной через строку, не используя eval?


Воваааа
04.04.2020, 14:11
Привет! Как можно обратиться к переменной, используя строку имени этой переменной?

Вариант, который считают устаревшим (https://learn.javascript.ru/eval#ispolzovanie-eval):
var obj = {prop:1};
var alias = "prop";
var gotIt = eval("obj."+alias);

Правильный современный вариант:
?

Спасибо!

рони
04.04.2020, 14:20
современный
есть обычный метод Квадратные скобки (https://learn.javascript.ru/object#kvadratnye-skobki)

Воваааа
04.04.2020, 14:37
Квадратные скобки не сработают, если имя переменной состоит из двух строк? Например:

var obj = {prop:1};
var alias1 = "pro";
var alias2 = "p";
var gotIt = eval("obj."+alias1+alias2);

Воваааа
04.04.2020, 14:38
а, все. я понял ))

var gotIt = obj[alias1+alias2];