Es un metodo muy util que sirve para aplicar una funcion global como si fuese llamada desde un objeto. De esta forma, hacemos que la keyword notes/this en JavaScript apunte al objeto en cuestion y no a undefined o window.
Su sintaxis basica es:
1
funcion.call(thisKeywordReplacer,args)// El primer argumento sera el objeto o cosa que sustituira la keyword this y el segundo los argumentos de la funcion normal
Un ejemplo claro seria el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
constobj1={name:'Jaime',age:'20',}constobj2={name:'Pepe',age:'5',}functionfuncion(day){console.log(`${this.name}: ${this.age} at ${day}`);}funcion.call(obj1,2);// Jaime: 20
funcion.call(obj2,23);// Pepe: 5