Call or Return

Beginner

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

Введение

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

Функция, которая вызывает другую функцию или возвращает ее

Для начала практики программирования откройте Терминал/SSH и введите node.

Вот функция под названием callOrReturn, которая принимает аргумент и вызывает его, если это функция, в противном случае возвращает его. Вот как это работает:

  • Функция принимает два параметра: fn и ...args. fn - это аргумент, который необходимо проверить, а ...args - это список аргументов, которые будут переданы в функцию, если она будет вызвана.
  • Она использует оператор typeof для проверки, является ли заданный аргумент функцией.
  • Если аргумент действительно является функцией, она вызывает функцию с использованием оператора расширения (...), чтобы передать остальные заданные аргументы. В противном случае она просто возвращает аргумент.
  • Вот пример использования функции callOrReturn:
const callOrReturn = (fn, ...args) =>
  typeof fn === "function" ? fn(...args) : fn;

callOrReturn((x) => x + 1, 1); // 2
callOrReturn(1, 1); // 1

В первом примере callOrReturn(x => x + 1, 1) вызывает функцию x => x + 1 с аргументом 1, что возвращает 2. Во втором примере callOrReturn(1, 1) просто возвращает 1, так как это не функция.

Резюме

Поздравляем! Вы завершили практическое занятие "Call or Return". Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.