Получите массив вызовом obtain, извлеките обе функции деструктуризацией и вызовите каждую отдельно. Само присваивание функции не запускает.
Извлечение функций из массива с помощью деструктуризации
Получите массив вызовом obtain, извлеките обе функции деструктуризацией и вызовите каждую отдельно. Само присваивание функции не запускает.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Необходимо продемонстрировать, как вызвать функции, находящиеся внутри массива, который возвращается из другой функции.
function obtain() {
return [
() => { console.log('Hello') },
() => { console.log('Hello_2') }
];
}
Опишите способ получения этих функций (например, через деструктуризацию) и их последующего вызова.
Ответ
Получите массив вызовом obtain, извлеките обе функции деструктуризацией и вызовите каждую отдельно. Само присваивание функции не запускает.
const [sayHello, sayHelloAgain] = obtain();
sayHello(); // Hello
sayHelloAgain(); // Hello_2
obtain выполняется один раз и возвращает два функциональных значения. Деструктуризация сохраняет их в локальные переменные. Альтернативный вариант — const callbacks = obtain(); callbacks0; callbacks1;. Порядок сообщений определяется порядком явных вызовов.