Есть ли способ получить публичную функцию из шаблона модуля, динамически обращающуюся к закрытым переменным? test1 показывает, что я имею в виду под «динамическим доступом», но с общедоступными переменными
var x = (function(){
var x=0, y=2, z=5;
return {
toast: 123,
test1: function(arg){
return this[arg];
},
test2: function(){
// ??
}
};
}());
console.log(x.test1("toast")); // 123
console.log(x.test2("y")); // should return 2
В итоге я создал единственную приватную переменную (объект), в которой хранятся мои приватные переменные, поэтому я смог получить к ним доступ вот так.
privateVarStore[privateVarName]
Но есть ли другое решение для этого?