Новости в сфере IT

Функциональное программирование с точки зрения EcmaScript. Чистые функции, лямбды, имутабельность | Digital Agency Linkwolf

Привет, Хабр!
Сегодня мы начнём говорить на очень важную тему — функциональное программирование. Значение ФП в современной веб-разработке трудно переоценить. Архитектура любого крупного современного проекта включает в себя пользовательские библиотеки функций и на собеседовании любого уровня в обязательном порядке будут вопросы по ФП.

Введение в функциональное программирование


Функциональное программирование(ФП) — способ организации кода через написание набора функций.

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

Отсюда следуют следующие определения:
Функциональный агрумент(Functional argument, фунарг) — аргумент, значением которого является функция.
Функция высшего порядка(ФВП, higher-order-funtion, hof) — функция, которая принимает функции в качестве аргументов.
Функции с функциональным значением(Function valued functions) — функция, которая возвращает функцию.

Все эти типы функций условно объединяют в функции первого класса, и, как следует из определения выше, в ES все функции являются объектами первого класса.
Читать дальше →

Вам нужно больше информации?

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