Chuck's Academy

JavaScript Intermedio

Manipulación del Prototipo y Herencia

JavaScript es un lenguaje basado en prototipos, lo que permite que los objetos hereden propiedades y métodos de otros objetos. En este capítulo, exploraremos el sistema de prototipos en JavaScript y cómo se usa para implementar herencia.

Prototype en javascriptPrototype en javascript

Prototipos en JavaScript

Cada objeto en JavaScript tiene un prototipo, que es otro objeto del cual hereda propiedades y métodos. Esto permite que los objetos compartan funcionalidad sin duplicar código.

javascript
"En este ejemplo, 'user' hereda el método 'greet' del prototipo 'person', permitiendo que 'user' acceda a este método sin tenerlo definido directamente."

Constructor y prototype

Los constructores son funciones que permiten crear múltiples instancias de un objeto con propiedades similares. Usando la propiedad prototype, podemos definir métodos que serán compartidos entre todas las instancias.

javascript
"Aquí, 'Person' es un constructor que define la propiedad 'name' en cada instancia. Al definir 'greet' en 'Person.prototype', el método se comparte entre todas las instancias de 'Person'."

Herencia en JavaScript

Podemos crear una cadena de prototipos para implementar herencia, permitiendo que un objeto herede propiedades de otro.

javascript
"En este ejemplo, 'Employee' hereda de 'Person' usando 'call' y 'Object.create', lo que permite a 'Employee' acceder a los métodos de 'Person'."

Clases y Sintaxis de Herencia

Con ES6, JavaScript introdujo una sintaxis más clara para trabajar con herencia mediante la palabra clave class.

javascript
"Aquí, usamos 'class' y 'extends' para crear una clase 'Employee' que hereda de 'Person'. Esto hace que el código sea más claro y fácil de entender."

Sobrescritura de Métodos

Cuando una clase hija necesita un comportamiento diferente, puede sobrescribir un método heredado.

javascript
"En este ejemplo, 'Employee' sobrescribe el método 'greet' de 'Person', proporcionando un mensaje diferente."

instanceof y isPrototypeOf

JavaScript ofrece instanceof y isPrototypeOf para verificar relaciones de herencia.

javascript
"Usamos 'instanceof' para verificar si 'alice' es una instancia de 'Person', y 'isPrototypeOf' para ver si el prototipo de 'Person' está en la cadena de prototipos de 'alice'."

Conclusión

La manipulación de prototipos y la herencia en JavaScript son conceptos clave para construir aplicaciones modulares y reutilizables. Entender cómo funciona el sistema de prototipos te permite escribir código más flexible y aprovechar el modelo de herencia de JavaScript.


Pregúntame lo que sea