diff --git a/content/en/2-6-Function.md b/content/en/2-6-Function.md index ec46a23..610c9fc 100644 --- a/content/en/2-6-Function.md +++ b/content/en/2-6-Function.md @@ -11,7 +11,7 @@ function sum(a, b) { > Named function expression ```js -const max = function max(a, b) { +const sum = function sum(a, b) { return a + b; }; ``` @@ -19,7 +19,7 @@ const max = function max(a, b) { > Anonymous function expression ```js -const max = function (a, b) { +const sum = function (a, b) { return a + b; }; ``` @@ -27,7 +27,7 @@ const max = function (a, b) { > Arrow function (Lambda function) ```js -const max = (a, b) => { +const sum = (a, b) => { return a + b; }; ``` @@ -35,21 +35,22 @@ const max = (a, b) => { > Lambda expression ```js -const max = (a, b) => a + b; +const sum = (a, b) => a + b; ``` ```js -const add = (a) => (b) => a + b; +const sum = (a) => (b) => a + b; +// prettier-ignore const hash = (data = {}) => - (key, value) => ((data[key] = value), data); + (key, value) => ((data[key] = value), data); ``` > Superposition ```js -const expr2 = add( +const expr2 = sum( pow(mul(5, 8), 2), div(inc(sqrt(20)), log(2, 7)) ); @@ -87,10 +88,10 @@ const result = curry((a, b, c) => a + b + c)(1, 2)(3); > Wrapper ```js -const add = (a, b) => a + b; +const sum = (a, b) => a + b; -console.log('Add numbers: 5 + 2 = ' + add(5, 2)); -console.log('Add floats: 5.1 + 2.3 = ' + add(5.1, 2.3)); -console.log(`Concatenate: '5' + '2' = '${add('5', '2')}'`); -console.log('Subtraction: 5 + (-2) = ' + add(5, -2)); +console.log('Add numbers: 5 + 2 = ' + sum(5, 2)); +console.log('Add floats: 5.1 + 2.3 = ' + sum(5.1, 2.3)); +console.log(`Concatenate: '5' + '2' = '${sum('5', '2')}'`); +console.log('Subtraction: 5 + (-2) = ' + sum(5, -2)); ``` diff --git a/content/en/2-7-Closure.md b/content/en/2-7-Closure.md index 02a7c8b..e2c17c2 100644 --- a/content/en/2-7-Closure.md +++ b/content/en/2-7-Closure.md @@ -164,12 +164,15 @@ console.log(a); > Callback ```js -const add = (a, b) => a + b; +// Return result +const sum = (a, b) => a + b; + +// Pass result to a callback const sum = (a, b, callback) => callback(a + b); ``` ```js -console.log('add(5, 2) =', add(5, 2)); +console.log('sum(5, 2) =', sum(5, 2)); sum(5, 2, console.log.bind(null, 'sum(5, 2) =')); ``` diff --git a/content/ru/2-6-Function.md b/content/ru/2-6-Function.md index 297b878..fe56d9e 100644 --- a/content/ru/2-6-Function.md +++ b/content/ru/2-6-Function.md @@ -13,7 +13,7 @@ function sum(a, b) { Функциональное выражение с именованной функцией (Named function expression): ```js -const max = function max(a, b) { +const sum = function sum(a, b) { return a + b; }; ``` @@ -21,7 +21,7 @@ const max = function max(a, b) { Анонимное функциональное выражение (Anonymous function expression): ```js -const max = function (a, b) { +const sum = function (a, b) { return a + b; }; ``` @@ -29,7 +29,7 @@ const max = function (a, b) { Стрелочная или лямбда-функция (Arrow, Lambda function): ```js -const max = (a, b) => { +const sum = (a, b) => { return a + b; }; ``` @@ -37,7 +37,7 @@ const max = (a, b) => { Лямбда-выражение, Функция-стрелка с выражением в качестве тела (Lambda expression, Arrow function): ```js -const max = (a, b) => a + b; +const sum = (a, b) => a + b; ``` > Чистая функция (Pure Function) — детерминированная функция без побочных эффектов. @@ -53,7 +53,7 @@ const max = (a, b) => a + b; Примеры: ```js -const add = (a) => (b) => a + b; +const sum = (a) => (b) => a + b; const hash = (data = {}) => @@ -63,7 +63,7 @@ const hash = > Суперпозиция (Superposition) — объединение вызова функций в выражения таким образом, что результат одних функций становится аргументами других функций. ```js -const expr2 = add( +const expr2 = sum( pow(mul(5, 8), 2), div(inc(sqrt(20)), log(2, 7)) ); @@ -109,10 +109,10 @@ const result = curry((a, b, c) => a + b + c)(1, 2)(3); Функция, которая оборачивает другую функцию (иногда объект, интерфейс или функциональный объект), добавляя ему дополнительное поведение. Можно обернуть целый API интерфейс и даже асинхронную функцию вместе с колбеками (если известен контракт). ```js -const add = (a, b) => a + b; +const sum = (a, b) => a + b; -console.log(`Add nums: ${add(5, 2)}`); -console.log(`Add float: ${add(5.1, 2.3)}`); -console.log(`Concatenate: ${add('5', '2')}`); -console.log(`Subtraction: ${add(5, -2)}`); +console.log(`Add nums: ${sum(5, 2)}`); +console.log(`Add float: ${sum(5.1, 2.3)}`); +console.log(`Concatenate: ${sum('5', '2')}`); +console.log(`Subtraction: ${sum(5, -2)}`); ``` diff --git a/content/ru/2-7-Closure.md b/content/ru/2-7-Closure.md index 57659e3..40101f4 100644 --- a/content/ru/2-7-Closure.md +++ b/content/ru/2-7-Closure.md @@ -164,12 +164,15 @@ console.log(a); > Callback ```js -const add = (a, b) => a + b; +// Обычный возврат результата +const sum = (a, b) => a + b; + +// Возврат результата в функцию обратного вызова const sum = (a, b, callback) => callback(a + b); ``` ```js -console.log('add(5, 2) =', add(5, 2)); +console.log('sum(5, 2) =', sum(5, 2)); sum(5, 2, console.log.bind(null, 'sum(5, 2) =')); ```