Вызов функций с контекстом

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом практическом занятии мы изучим, как вызывать функции с контекстом с использованием замыкания в JavaScript. Мы узнаем, как передавать ключ и набор аргументов в функцию, а затем вызывать ее с заданным контекстом. С помощью практических примеров мы увидим, как эта техника может быть использована для упрощения кода и повышения его читаемости.

Как вызывать функции с контекстом в JavaScript

Для выполнения кода в Node.js откройте Терминал/SSH и введите node. Если вы хотите вызвать функцию с определенным контекстом и набором аргументов в JavaScript, вы можете использовать замыкание. Вот, как это можно сделать:

  1. Определите функцию call, которая принимает ключ и набор аргументов в качестве параметров и возвращает новую функцию, которая принимает параметр контекст.
const call =
  (key, ...args) =>
  (context) =>
    context[key](...args);
  1. Используйте функцию call для вызова функции map для массива чисел. В этом примере функция map удваивает каждое число в массиве.
Promise.resolve([1, 2, 3])
  .then(call("map", (x) => 2 * x))
  .then(console.log); // [ 2, 4, 6 ]
  1. Вы также можете связать функцию 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, чтобы улучшить свои навыки.