Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 October 30

S

Serhii in NodeUA - JavaScript and Node.js in Ukraine
Как по мне, то мап, фильтр и редюс - это таки функциональное программирование, просто они настолько популярны, что используются при любой парадигме.
Просто хочется статей поинтереснее, а не ленивые пересказы mdn
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Они могут применяться в фп, но тут все зависит от того, как написаны функции, которые в них передаются и куда идут результаты. На мапе с фильтром можно и протрясающую срань написать, не имеющую отношения не только к фп, но и к здравому смыслу
источник

M

Michael in NodeUA - JavaScript and Node.js in Ukraine
Функциональные, потому что чистые
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
А че они бдруг чистые?
источник

S

Serhii in NodeUA - JavaScript and Node.js in Ukraine
да, согласен. Но в концепции это функциональное программирование. Зависит от программиста.
источник

M

Michael in NodeUA - JavaScript and Node.js in Ukraine
Какие у нис сайд-эффекты?
источник

S

Serhii in NodeUA - JavaScript and Node.js in Ukraine
ну, в джс можно в коллбеки сайдэффекты завезти
источник

S

Serhii in NodeUA - JavaScript and Node.js in Ukraine
короче, мы говорим об одном и том же, просто чуть разные определения.
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Любые
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Да и отсутствие сайдэффектов еще не делает программу функциональной
источник

S

Serhii in NodeUA - JavaScript and Node.js in Ukraine
ну, это одно из условий.

Композиция функций + отсутствие сайд-эффектов.

Что еще?
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
например, не должно быть переменных и констант вообще, только выражения и функции
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Без присвоения пишите
источник

D

DaunPony in NodeUA - JavaScript and Node.js in Ukraine
Почему констант нет? Есть же константы и константные функции
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Ну а как это так, до присвоения их не было, а после присвоения появились. Это императивщина, шаги алгоритма какие-то
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Вопрос в строгости, что все же разрешить себе, на что можно глаза закрыть.
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Если максимально строго подойти, то что-то работающее написать практически невозможно)
источник

D

DaunPony in NodeUA - JavaScript and Node.js in Ukraine
Но эти константы иммутабельны, они вычислимы и соответствуют определниям терм в том же хаскеле(могут применяться к аргументам). Все функционально
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Не должно быть шагов и их последовательности. Понятно, что при определенных условиях этим можно принебречь. Но в js даже скоупы работают не по-функциональному.
источник

D

DaunPony in NodeUA - JavaScript and Node.js in Ukraine
Я бы не назвал императивную последовательность такой же последовательностью как редуцирование в вычислительной модели фп-языков. Мы же не меняем последовательно разные флажки как в жс, не совершаем итерацит и мутации.
источник