Задать вопрос
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() через строку. Возможно ли такое? Где ошибка в моем коде?
  • Вопрос задан
  • 50 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 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]()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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