JavaScript.Closures и перенесенные аргументы - PullRequest
0 голосов
/ 04 марта 2019

У нас есть функция:

function f (a, b, c) {
function sum (a, b) {
return a + b;
}
}

Перепишите ее следующим образом:

  1. Если аргументы a и b не переданы, они равны по умолчанию 2 и 3.
  2. Если аргумент c передан и является функцией, он будет запущен после вызванной суммы функции.
  3. Функция f должна вернуть результат аргумента функции c, если он существует, или результатсумма функций.

1 Ответ

0 голосов
/ 04 марта 2019

Если я хорошо понимаю ваш вопрос, все будет в порядке:

function f (a = 2, b = 3, c) {
    function sum(a, b) {
        return a + b;
    }
    let s =  sum(a,b);
    return c instanceof Function ? c() : s;
}

console.log(f());
console.log(f(7,8));
console.log(f(9,10, ()=>11));

Мы используем здесь троичный оператор , оператор instanceof и функция стрелки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...