![][1]
_Предлагаем перевод [статьи][2], которая позволит кому-то освежить свои знания по теме, а также будет полезна новичкам в JavaScript, пока ещё осваивающим этот язык._
Одна из вещей, которые многим нравятся в JavaScript, это его универсальность. Этот язык позволяет использовать объектно-ориентированное программирование, императивное, и даже функциональное. И можно переключаться с одной парадигмы на другую в зависимости от конкретных нужд и предпочтений.
Хотя JavaScript поддерживает методики функционального программирования, он не оптимизирован для полноценного использования этой парадигмы, как Haskell или Scala. Не обязательно добиваться того, чтобы ваши JS-программы полностью соответствовали концепциям функционального программирования. Но их применение помогает поддерживать чистоту кода и концентрироваться на создании архитектуры, которая легко тестируется и может использоваться в нескольких проектах.
[Читать дальше →][3]
[1]:
https://habrastorage.org/files/0ba/6fd/4e0/0ba6fd4e0c4c4f6498160e49b7737b1a.png
[2]:
https://www.sitepoint.com/filtering-and-chaining-in-functional-javascript/
[3]:
https://habrahabr.ru/post/324172/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut