Введение
В этом практическом занятии мы изучим, как вызывать функции с контекстом с использованием замыкания в JavaScript. Мы узнаем, как передавать ключ и набор аргументов в функцию, а затем вызывать ее с заданным контекстом. С помощью практических примеров мы увидим, как эта техника может быть использована для упрощения кода и повышения его читаемости.
Как вызывать функции с контекстом в JavaScript
Для выполнения кода в Node.js откройте Терминал/SSH и введите node. Если вы хотите вызвать функцию с определенным контекстом и набором аргументов в JavaScript, вы можете использовать замыкание. Вот, как это можно сделать:
- Определите функцию
call, которая принимаетключи набораргументовв качестве параметров и возвращает новую функцию, которая принимает параметрконтекст.
const call =
(key, ...args) =>
(context) =>
context[key](...args);
- Используйте функцию
callдля вызова функцииmapдля массива чисел. В этом примере функцияmapудваивает каждое число в массиве.
Promise.resolve([1, 2, 3])
.then(call("map", (x) => 2 * x))
.then(console.log); // [ 2, 4, 6 ]
- Вы также можете связать функцию
callс определенным ключом, например,map, и использовать ее для вызова функцииmapдля массива чисел.
const map = call.bind(null, "map");
Promise.resolve([1, 2, 3])
.then(map((x) => 2 * x))
.then(console.log); // [ 2, 4, 6 ]
С помощью функции call вы можете легко вызывать любую функцию с определенным контекстом и набором аргументов.
Резюме
Поздравляем! Вы завершили практическое занятие "Вызов функций с контекстом". Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.