карри

Каррирование означает вычисление функций с несколькими аргументами и их разложение на последовательность функций с одним аргументом. Таким образом, вместо того, чтобы принимать все аргументы сразу, функция принимает первый аргумент и возвращает новую функцию, которая принимает второй аргумент и возвращает новую функцию, которая принимает третий... и так далее, пока не будут предоставлены все аргументы и не будет получена последняя функция. казнен.

Каррирование помогает разделить функции на более мелкие повторно используемые функции, которые выполняют одну задачу. Это делает ваши функции более чистыми, менее подверженными ошибкам и более легкими для тестирования.

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

Состав

Композиция — это метод, при котором результат одной функции передается следующей функции, которая передается следующей функции, и так далее… до тех пор, пока не будет выполнена последняя функция и не будет вычислен некоторый результат. Функциональные композиции могут состоять из любого количества функций.

Композиция также помогает разделить функции на более мелкие повторно используемые функции, которые несут единую ответственность.

Рамда также имеет API для композиции функций с помощью pipe и compose.

Закрытия

Замыкание — это функция, которая сохраняет доступ к переменным и аргументам (области видимости) внешней функции даже после завершения выполнения внешней функции. Замыкания полезны для сокрытия деталей реализации в JavaScript. Другими словами, может быть полезно создавать закрытые переменные или функции следующим образом:

Нулевой оператор объединения ??

Нулевой оператор объединения — это быстрый способ применить значение по умолчанию, если левый операнд равен нулю или не определен. Это особенно удобно в тех случаях, когда вы хотите принять все ложные значения, кроме null и undefined. Или в случаях, когда вы хотите применить ложные значения по умолчанию.

API отражения

Под отражением, с точки зрения программирования, это означает, что программа может исследовать себя путем самоанализа и манипулировать своими собственными структурами. API Reflect предоставляет набор полезных методов как для самоанализа, так и для манипулирования с помощью статических методов в API Reflect.

Есть над чем задуматься, и вы можете прочитать подробности здесь.

На этом завершаются 5 концепций JavaScript, которые сделают вас лучшим разработчиком. Надеюсь, вам понравилось чтение и, возможно, вы даже узнали что-то новое.

Пожалуйста, прочтите также 5 концепций, которые сделают вас лучшим разработчиком React.

Повышение уровня кодирования

Спасибо, что являетесь частью нашего сообщества! Level Up трансформирует рекрутинг в сфере технологий. Найди свою идеальную работу в лучших компаниях.