JavaScript: parámetro implÃcito «this» y funciones
El parámetro implícito "this" es, sin lugar a dudas, uno de los "misterios" del javascript que provoca más errores y confusiones a los programadores. La razón principal es que, a pesar de estar relacionado con la programación orientada a objetos, no funciona de la misma manera que en la mayor parte de los lenguajes orientados a objetos basados en clases, como Java o C++. Y los programadores que comenten la "imprudencia" de pensar en "this" como si estuvieran en Java o C++ lo pagan caro.
En este vídeo diseccionamos los mecanismos de construcción del objeto "this" para que deje de ser un "misterio" y seas capaz de interpretar correctamente el valor que toma en cada caso. La clave, como verás, está en comprender que se trata de un parámetro implícito (igual que arguments) de las funciones, y que su valor depende de la forma en que esta se invoque.
Por ello veremos las 4 formas que tenemos en javascript de invocar funciones y como afectan a la construcción de this:
- invocación normal,
- como método de un objeto,
- como un constructor de objeto y,
- mediante los métodos del objeto función apply() y call()
En los siguientes vídeos explicamos con detalle el comportamiento del parámetro implicito según la forma en que se invoque la función.