Модификация функции

Написать код функции modificator, чтобы в результате работы кода:

function sampleFunc () {
    console.log ( `${arguments.callee.name}: ${arguments[0]} | ${arguments[1]}` )
}

function modificator ( func ) {
    ...
}

testFunc = modificator( sampleFunc )

testFunc()

в консоли было:

sampleFunc: test | sample

Ответы (1 шт):

Автор решения: Grundy

Функция sampleFunc выводит два переданных ей аргумента.

В соответствии с необходимым выводом, функцию нужно вызвать с параметрами test и sample

Результатом modificator должна быть функция, при вызове которой, вызовется sampleFunc с указанными параметрами.

Исходя из вышеописанного функция modificator может быть такой:

function modificator ( func ) {
    return function (){
        func('test', 'sample');
    }
}

Так же можно воспользоваться методом bind

function modificator ( func ) {
    return func.bind(undefined, 'test', 'sample');
}
→ Ссылка