Смотрите блог для более связанного контентаGitHub.com/dedicated мойка…
концепция:
побочный эффектЭто изменение состояния системы в процессе вычисления результата или с внешним миром.наблюдаемое взаимодействие.
надКонцепция чистых функций строга, как и концепция побочных эффектов. Требования к ней очень высоки, вообще любое взаимодействие функции с внешней средой является побочным эффектом. От слова «побочный эффект» скорее имеется в виду «изменение состояния системы».
существуетруководствоНекоторые из побочных эффектов перечислены в:
- изменить файловую систему
- вставить запись в базу
- отправить http запрос
- переменные данные
- печать/журнал
- Получить пользовательский ввод
- DOM-запрос
- статус системы доступа
Если вообще нет побочных эффектов, то наш код — просто пустая трата электроэнергии, просто запуская его снова, и больше ничего не происходит, так что нет смысла писать код. Итак, в JS наша цель не в том, чтобы полностью исключить побочные эффекты.Примечание 1
mappop
const myPop = x => {
let [...y] = x;
return y.pop();
}
const a = 5;
function A(b) {
return a + b;
}
A(5);
function foo(x) {
return bar(x);
}
function bar(y) {
return y + 1;
}
foo(1);
function foo(fn, x) {
return fn(x);
}
function bar(y) {
return y + 1;
}
foo(bar, 1);
function foo(fn) {
return function(x) {
return fn(x);
}
}
function bar(y) {
return y + 1;
}
foo(bar)(1);
function foo(fn, x) {
return fn(x);
}
function bar(y) {
return y + 1;
}
bar = undefined;
foo(bar, 1);
bar = undefined
const foo = function(fn, x) {
return fn(x);
}
const bar = function(y) {
return y + 1;
}
bar = undefined; // error
foo(bar, 1);
const