Contenido del curso
Día 1
Día 2
Día 3
Día 4
Día 6
Día 7
Día 8
Día 9
Día 10 - Checkpoint
Día 11
Día 12
Día 13
Día 14
Día 16
Día 17
Día 18
Día 19
Día 21
Día 22
Día 23
Día 25
Día 26
Día 27
Día 28
Día 29
Día 30
Live Class
JavaScript es un lenguaje orientado a objetos basado en prototipos. Esto significa que los objetos tienen una relación de prototipo entre ellos, en lugar de tener una relación de clase como en lenguajes como Java o C#.
Un prototipo es un objeto del cual otros objetos heredan propiedades. Cada objeto en JavaScript tiene una propiedad especial llamada "prototype", que apunta a otro objeto del cual hereda propiedades. Si un objeto no tiene una propiedad específica, JavaScript busca en su prototipo, y así sucesivamente hasta encontrar la propiedad o llegar al objeto base Object.prototype.
Por ejemplo, podemos crear un objeto "Animal" como prototipo para todos los animales:
function Animal() {} // Es importante que las clases empiecen con máyusculas Animal.prototype.esVivo = true; // Y a su prototype le agregamos la propiedad de "esVivo"
Luego, podemos crear un objeto "Perro" que herede de "Animal":
function Perro() {} // Esta es la manera de hacer que un objeto "Herede" de otro Perro.prototype = Object.create(Animals.prototype);
Ahora, cada objeto "Perro" tendrá acceso a la propiedad "esVivo" heredada del prototipo "Animals":
const perro = new Perro(); console.log(perro.esVivo); // Output: true
También es posible añadir propiedades y métodos específicos a un prototipo:
Perro.prototype.ladrar = function() { console.log("Guau!"); } const perro = new Perro(); perro.ladrar(); // Output: "Guau!"
Además de crear prototipos y heredar de ellos, es posible editar los prototipos de objetos existentes en JavaScript. Por ejemplo, podemos agregar un método al prototipo de Array para calcular la suma de sus elementos:
Array.prototype.suma = function() { return this.reduce((a, b) => a + b); } const numeros = [1, 2, 3, 4, 5]; console.log(numeros.suma()); // Output: 15
Otro ejemplo, podemos agregar un método al prototipo de String para convertir una cadena a mayúsculas:
String.prototype.mayusculas = function() { return this.toUpperCase(); } const nombre = "Juan"; console.log(nombre.mayusculas()); // Output: "JUAN"
Es importante tener en cuenta que editar los prototipos de objetos existentes puede tener efectos secundarios no deseados y debe ser utilizado con precaución. Es recomendable crear clases o objetos personalizados en lugar de editar los prototipos existentes.
Todo esto y más lo puedes aprender en el Curso Básico de Programación Orientada a Objetos con JavaScript