Métodos de objeto JavaScript, "this"
En JavaScript, se crean objetos para representar entidades del mundo real, como pedidos, usuarios y más. Aquí hay un ejemplo:
En el mundo real, actúas así: inicio de sesión, cierre de sesión, eliges algo de un carrito de compras, y más.
En JavaScript, puedes representar acciones mediante funciones en propiedades.
Ejemplos de Métodos
Tu primer paso al estudiar los métodos de objeto JavaScript debería ser aprender cómo se dice “bienvenida”. El ejemplo se verá así:
Por lo tanto, el sitio solo puede responder después de llamarlo.
Una función particular que es la propiedad de un objeto se conoce como un método. En el ejemplo dado anterior, welcome es un método del objeto site.
Además, se puede utilizar una función predeclarada como método. Para hacer eso, necesitas invocar el siguiente comando:
Descripción de la Programación Orientada a Objetos
La programación orientada a objetos (en resumen “OOP”) se centra en escribir códigos utilizando objetos para representar entidades.
OOP puede describirse como una ciencia en sí misma. Se ha realizado mucha investigación para explorar completamente cómo elegir las entidades correctas, cómo organizar la interconexión entre ellas, y mucho más. Esa es una arquitectura completamente nueva.
Forma Abreviada de Método
Puedes usar una sintaxis corta para los métodos en un objeto como este:
En este ejemplo, puedes ver que la palabra “function” se omite, y solo se escribe welcome. Por supuesto, puede haber diferencias vinculadas con la herencia de objetos. De todos modos, en la mayoría de los casos, es más preferible usar una sintaxis más corta.
“this” en los Métodos de Objeto
En general, para realizar su trabajo, un método de objeto debe tener la información guardada en el objeto.
Por ejemplo, el código que está dentro de site.welcome() puede necesitar el site.name.
Un método puede usar la palabra clave “this” para acceder al objeto.
El objeto “bcito antes del punto” debe ser el valor de “this”.
Por ejemplo, puedes llamar al método de la siguiente manera:
En el ejemplo anterior, mientras se ejecuta site.welcome(), site será el valor de “this”.
Tienes la opción de acceder al objeto sin usar “this”. Solo haz referencia a él a través de la variable externa así:
Pero, ten en cuenta que este tipo de códigos no pueden ser confiables. En caso de copiar el site a una variable diferente (por ejemplo, anotherSite = site) sobrescribiendo site con otra cosa, serás dirigido a un objeto incorrecto.
Aquí hay un ejemplo:
“this” puede ser No-Enlazado
Comúnmente, la palabra clave JavaScript “this” puede ser utilizada en cualquier función, a diferencia de otros lenguajes de programación.
El siguiente ejemplo no tiene errores de sintaxis:
function welcome() {
console.log(this.name);
}
En el siguiente ejemplo, la misma función se acredita a 2 objetos diferentes, e incluye diferentes distintivos “this” en las invocaciones:
Por lo tanto, se usan pasos simples aquí: Si primero llamas a obj.func(), entonces necesitas correr this es obj durante la invocación de func. Esto significa que en el ejemplo que se dio anteriormente, se usa site o anotherSite.
Invocando sin un objeto: this == undefined
La función incluso se puede llamar sin un objeto de la siguiente manera:
En el ejemplo mencionado anteriormente, this es undefined en el modo estricto. En el caso de tratar de ingresar this.name, puede ocurrir un error.
El valor de “this” en un modo no estricto será el objeto global.
Por lo general, una llamada como esta puede causar un error de programación. En caso de que haya this en la función, debería ser invocada en el contexto del objeto.
Resultados de “this” estar No-Enlazado
Si ya estás acostumbrado a otro lenguaje de programación, posiblemente estés familiarizado con la idea de “this enlazado” en la que los métodos, caracterizados en un objeto siempre obtienen “this” haciendo referencia al objeto.
“this” se puede describir como libre en JavaScript. Por lo tanto, su valor no depende de dónde se haya confirmado el método. Pero esto depende más del objeto “antes del punto”.
El concepto dado de “this” tiene tanto ventajas como desventajas. Por un lado, puedes usar la función para una variedad de objetos. Por otro lado, cuánta más flexibilidad, más posibilidades de cometer errores. Tu objetivo debería ser aprender a trabajar con esto para obtener beneficios y evitar errores.
Las Funciones de Flecha No Tienen “this”
Las funciones de flecha son únicas ya que no tienen su propio “this”. En caso de que comiences a referenciarlo desde una función como esa, se tomará de una función “normal” externa.
En el siguiente ejemplo, arrow() usa this del método: site.welcome().
El especial método de función de flecha es especialmente útil cuando no deseas tener un “this” separado, sino que deseas tomarlo de un contexto más allá.
Hora del Cuestionario: ¡Pon a Prueba Tus Habilidades!
¿Listo para desafiar lo que has aprendido? Sumérgete en nuestros cuestionarios interactivos para una comprensión más profunda y una forma divertida de reforzar tu conocimiento.