const func = (arg) => {
func.valueOf = () => 0;
return func;
};
func() + 1;
// Результат => 1
Первый вариант отрабатывает правильно, а второй не правильно. В чем ошибка?
const func = (arg) => {
const innerFunc = (arg1) => {
innerFunc.valueOf = () => 0;
return func;
};
return innerFunc;
};
func() + 1;
// Результат => '(arg1) => {\n inner.valueOf = () => 0;\n return func;\n }1'
Во вором варианте вызовите func()() + 1, ведь там функцияvalueOf определена не у функции, которая возвращается при вызове func, а у функции, которая возвращается при вызове innerFunc, которая в свою очередь возвращается при вызове func.
Продвижение своими сайтами как стратегия роста и независимости