Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 October 30

АМ

Андрей Москаленко... in NodeUA - JavaScript and Node.js in Ukraine
т.е кто-то внутри filter / map любит передавать функцию которая например глобальные переменные изменяет ? o_0
источник

TS

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

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
Жаль в жс нельзя явно указывать будет ли фунция замыканием или лямбдой
источник

Т

Тёмыч in NodeUA - JavaScript and Node.js in Ukraine
я встречал только запушивание чего-то в массив на уровень выше. Это плохо?
ну типа есть асинхронная функция, в ней пара array и array0,
ниже шото типа
await Promise.all(array0.map((element)=>{
const result = await что-то делают с element...
 if (result) {
 array.push(element)
 }
})
источник

M

Mark in NodeUA - JavaScript and Node.js in Ukraine
Це не є добре чи погано, просто це не функціональний стиль
У ФП, map — чиста функція, яка бере на вхід дані, і віддає нові дані, без жодних проміжних мутацій
Можна навести аналогію з математичною функцією. Якщо є функція додавання, до прикладу, яка бере на вхід два значення (до прикладу, 2 і 2) вона просто повертає нове значення 4, без жодних проміжних мутацій. Ця функція не знає нічого окрім своїх аргументів (вона не може залізти в глобальний скоуп, тому що в математиці впринципі немає такого поняття як глобальний скоуп), більше того: вона не мутує своїх аргументів (числа по своїй природі іммутабельні, як і будь які інші значення, якщо вже на те пішло)
источник

M

Mark in NodeUA - JavaScript and Node.js in Ukraine
За рахунок цього досягається декларативність коду. ФП — це про декларативність коду, а не про мапи і редюси
"2 + 2" — це те саме, що "4". Виклик функції — це те саме, що дані, які вона повертає — можна сказати, що це просто інший спосіб репрезентації даних
Тому функція і не може мати сайд ефектів. Якщо функція — це репрезентація даних, вона не може змінювати глобальний скоуп. Дані взагалі не можуть ні на що впливати, вони просто дані
источник

S

Serhiy in NodeUA - JavaScript and Node.js in Ukraine
ФП за 2 повідомлення і прикладі на 2 + 2. Classic
источник

S

Serhii in NodeUA - JavaScript and Node.js in Ukraine
Ha Ha. Classic
источник

M

Mark in NodeUA - JavaScript and Node.js in Ukraine
Я говорив не про ФП загалом, а про те, чому в ФП функція не може мати побічних ефектів — це різні речі
источник

Т

Тёмыч in NodeUA - JavaScript and Node.js in Ukraine
Ааа, ну я про таке не думав. Я думати не умію, я умію тільки грести або не грести
источник
2021 October 31

EK

Evgen K in NodeUA - JavaScript and Node.js in Ukraine
Современное ФП, это НЕ строгий матчинг академичной теории в код, а больше про использование успешных идей на практике. Пару месяцев назад Дон Сайм (создатель F#) писал что локальные мутации это ок, если позволяют сделать код читабельнее или производительнее.
источник

S

Serhii in NodeUA - JavaScript and Node.js in Ukraine
Амінь
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Жс программисты знали это еще до появления f# и без сопливых дотнетчиков
источник

DH

Dima Haponov in NodeUA - JavaScript and Node.js in Ukraine
Чем дот нет не угодил?
источник

V

Vitaliy in NodeUA - JavaScript and Node.js in Ukraine
apps have distracted me from just how powerful the web is - Джек Дорси
источник

V

Vitaliy 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
может, ваши внуки это застанут)
источник

Д

Денис in NodeUA - JavaScript and Node.js in Ukraine
Дот нет ещё то поделие, но вряд ли прям захлебнутся
источник

Р

Руслан in NodeUA - JavaScript and Node.js in Ukraine
Тайпскрипт тоже жалко
источник