Задать вопрос
@Quintis

Как определить глобальную функцию через функцию высшего порядка?

Доброго времени суток , прохожу задание на каррирование функции - https://www.codewars.com/kata/55ba24f1cb367c48ac00...
Не могу пройти тест с eval :
var curryEval = CurryIt(eval);
curryEval("var y = function(){return true}");
curryEval();
Test.expect(y(), 'accepting a native global function is not working')

но у меня в песочнице всьо работает -https://codesandbox.io/s/angry-nobel-qpf9q?file=/s...

Сам код :
let memo = {};
function CurryIt(args, ...rest) {
  function cur() {
    const arg = [...arguments];
    return CurryIt(...arg, args);
  }
  if (typeof args === "function") {
    if (!memo["fn"]) {
      memo["fn"] = args;
    } else {
      const res = memo["memoized"];
      memo["memoized"] = 0;
      return res;
    }
  } else {
    memo["memoized"] =
      (memo["memoized"] || 0) +
      memo.fn(args, ...rest.filter(el => typeof el === "number"));
  }
  return cur;
}

var curryEval = CurryIt(eval);
curryEval("var y = function(){return true}");
curryEval();

console.log(y());

Кто может обьяснить что не так ?
  • Вопрос задан
  • 290 просмотров
Подписаться 2 Средний 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы