Function.prototype.call()
func.call(thisArg, arg1, arg2, …)
Wywołuje funkcję od razu, przy czym this to pierwszy argument, a pozostałe argumenty przekazuje się pojedynczo.
Parametry
- thisArg – wartość
thisdla wywołania. - arg1, arg2, … – argumenty funkcji.
Wartość zwracana
Wartość zwróconą przez wywołaną funkcję.
Przykłady
function introduce(greeting) {
return `${greeting}, jestem ${this.name}.`;
}
console.log(introduce.call({ name: 'Jana' }, 'Cześć'));
const type = (x) => Object.prototype.toString.call(x);
console.log(type([]), type(null), type(new Date(0)));
Wynik:
Cześć, jestem Jana. [object Array] [object Null] [object Date]
Na co uważać
- call() wywołuje funkcję od razu; bind() zwraca tylko nową funkcję na później.
- W funkcji strzałkowej
thissię nie zmienia.
Obsługa w przeglądarkach
Baseline – szeroko dostępne: działa we wszystkich popularnych przeglądarkach, i to od dawna (najpóźniej od 2015 roku). Od wersji: Chrome 1, Firefox 1, Safari 1; Node.js 0.10.0. Stan: październik 2026 (MDN browser-compat-data).
Zobacz też:
Function.prototype.apply()
Function.prototype.bind()