Продолжая из последнего поста. Мы не изменили значение глобальной переменной, но функция
Прирастаниене сработал бы без глобальной переменнойфиксированное значениеБудучи там.Другой принцип функционального программирования — всегда явно объявлять ваши зависимости. Это означает, что если функция зависит от присутствующей переменной или объекта, затем передайте эту переменную или объект непосредственно в функцию в качестве аргумента.
Есть несколько хороших последствий из этого принципа. Функции легче проверить, вы точно знаете, какой вход он требует, и она не будет зависеть от чего -либо еще в вашей программе. Это может придать вам больше уверенности при изменении, удалении или добавлении нового кода. Вы бы знали, что можете или не можете измениться, и вы можете увидеть, где находятся потенциальные ловушки.
Наконец, функция всегда будет производить один и тот же выход для одного и того же набора входов, независимо от того, какая часть кода выполняет его.
Давайте обновим
ПрирастаниеФункция четко заявить о своих зависимостях. Давайте напишемПрирастаниеФункция, поэтому он требует аргумента, а затем возвращает результат после увеличения значения на один.
var fixedValue = 4;
function incrementer () {
};
- Отвечать:
var fixedValue = 4;
function incrementer (num) {
return num + 1;
};
console.log(incrementer(5));
- Функция
Прирастающийне изменил значение FixedValue, и функция также приняла аргументnumАнкет
Оригинал: «https://dev.to/rthefounding/passing-arguments-to-avoid-external-dependence-in-a-function-7o8»