4. Czym jest funkcja apply?

apply wywołany na funkcji pozwala przekazać do niej obiekt, który będzie używany jako this. Ładuje do funkcji jej kontekst.

apply różni się od bind tym, że funkcja jest od razu wywoływana z parametrami przekazanymi jako drugi argument do apply. Drugi argument jest listą parametrów, które zostają przekazane do funkcji po kolei.

const person = { firstName: "Mario", print: function (arg1, arg2) { console.log( `I'm ${this?.firstName} and this is an arg1: ${arg1} and arg2: ${arg2}` ); }, }; person.print(); // I'm Mario and this is an arg1: undefined and arg2: undefined const printFunction = person.print; printFunction(); // I'm undefined and this is an arg1: undefined and arg2: undefined printFunction.apply(person); // I'm Mario and this is an arg1: undefined and arg2: undefined printFunction.apply(person, ["arg1", "arg2"]); // I'm Mario and this is an arg1: arg1 and arg2: arg2

apply różni się od call tym, że przekazuje do funkcji swój drugi argument - listę, z której kolejne wartości przekazuje do funkcji w tej samej kolejności, podczas gdy call otrzymuje je oddzielone przecinkami jako kolejne argumenty.

printFunction.apply(person, ["arg1", "arg2"]); // I'm Mario and this is an arg1: arg1 and arg2: arg2 printFunction.call(person, "arg1", "arg2"); // I'm Mario and this is an arg1: arg1 and arg2: arg2
devFlipCards 2024

Akceptujesz cookies?

Cookies to niewielkie fragmenty danych zapisywane lokalnie na twoim urządzeniu. Pomagają w funkcjonowaniu naszej strony - zapisują Twoje ustawienia strony takie jak motyw czy język. Poprawiają funkcjonowanie reklam i pozwalają nam na przeprowadzanie analityki odwiedzin strony. Korzystając ze strony zgadasz się na ich wykorzystanie.