sorry_i_noob
@sorry_i_noob

Можно ли как-нибудь в данном случае вызвать функцию по строке с названием функции?

Есть такой код:
function some_func_1() {
	function inner() {
  	console.log('hello!');
  }
  return {inner: inner}
}

some_func_1().inner();

let function_name = 'inner';
some_func_1().${function_name}();

Строка some_func_1().inner(); работает, а вот то, что ниже нее - нет. Я хочу вызвать функцию inner() через строку. Возможно ли такое? Где ошибка в моем коде?
  • Вопрос задан
  • 46 просмотров
Решения вопроса 2
hzzzzl
@hzzzzl
some_func_1()[function_name]()
Ответ написан
Комментировать
NeiroNx
@NeiroNx
Программист
К содержимому объекта можно обращаться через квадратные скобки - в квадратных скобках выражение возвращающее ключ:
function some_func_1() {
  function inner() {
  	console.log('hello!');
  }
  return {inner: inner}
}

some_func_1().inner();

let function_name = 'inner';
some_func_1()[function_name]()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы