¿Qué son los prototipos en JavaScript?
En JavaScript, los prototipos son una característica fundamental del lenguaje que permite la herencia de propiedades y métodos entre objetos. En lugar de utilizar clases como en otros lenguajes de programación, JavaScript utiliza prototipos para crear objetos y compartir funcionalidades entre ellos.
¿Cómo funcionan los prototipos?
En JavaScript, cada objeto tiene un enlace interno a otro objeto llamado «prototipo». Cuando se accede a una propiedad o método en un objeto, JavaScript busca primero en el objeto mismo y, si no lo encuentra, sigue buscando en su prototipo.
Este proceso de búsqueda continúa hasta llegar al objeto «Object.prototype», que es el prototipo base de todos los objetos en JavaScript. Si la propiedad o método no se encuentra en ningún nivel del prototipo, se considera indefinido.
Creando prototipos en JavaScript
Para crear un prototipo en JavaScript, se utiliza la función constructora. Esta función se utiliza para definir las propiedades y métodos que serán compartidos por todos los objetos creados a partir de ella.
Por ejemplo:
function Persona(nombre, edad) {
this.nombre = nombre;
this.edad = edad;
}
Persona.prototype.saludar = function() {
console.log("Hola, mi nombre es " + this.nombre);
};
En este ejemplo, la función constructora «Persona» define las propiedades «nombre» y «edad». El método «saludar» se define en el prototipo de «Persona» y será compartido por todos los objetos creados a partir de ella.
Herencia en JavaScript
La herencia en JavaScript se logra mediante la cadena de prototipos. Un objeto puede heredar propiedades y métodos de otro objeto al establecer su prototipo como el objeto del que desea heredar.
Por ejemplo:
function Estudiante(nombre, edad, carrera) {
Persona.call(this, nombre, edad);
this.carrera = carrera;
}
Estudiante.prototype = Object.create(Persona.prototype);
Estudiante.prototype.constructor = Estudiante;
Estudiante.prototype.estudiar = function() {
console.log("Estoy estudiando " + this.carrera);
};
En este ejemplo, la función constructora «Estudiante» hereda las propiedades «nombre» y «edad» de «Persona» utilizando la función «call». Luego, se establece el prototipo de «Estudiante» como el prototipo de «Persona» utilizando «Object.create». Finalmente, se define el método «estudiar» en el prototipo de «Estudiante».
Los prototipos y la herencia en JavaScript son conceptos clave para comprender el funcionamiento del lenguaje. Aunque puede resultar un poco confuso al principio, entender cómo funcionan los prototipos y cómo se logra la herencia permite aprovechar al máximo las capacidades de JavaScript.
Los prototipos permiten compartir propiedades y métodos entre objetos, lo que facilita la reutilización de código y la creación de jerarquías de objetos. La herencia en JavaScript se logra estableciendo el prototipo de un objeto como el objeto del que desea heredar, lo que permite extender las funcionalidades de un objeto existente.
3 comentarios
Due to the excellent quality of the content on this website and the fact that its administrator is actively working, it is certain to gain popularity very soon.
I loved even more than you will get done right here. The picture is nice, and your writing is stylish, but you seem to be rushing through it, and I think you should give it again soon. I’ll probably do that again and again if you protect this walk.
Mat6tube I’m just starting out with blogging, and I really admire your work. This article especially piqued my interest. I’ll bookmark your site and return for new updates regularly.