- 1

Fundamentos de JavaScript para Principiantes
02:49 - 2

Instalación y Configuración de JavaScript en Visual Studio Code
04:10 - 3

Instalación y configuración de Visual Studio Code y Node.js en Windows
05:11 - 4

Variables y Buenas Prácticas en JavaScript
09:23 - 5

Tipos de Datos en JavaScript: Primitivos y Complejos
07:59 - 6

Manipulación de Strings en JavaScript: Escritura, Concatenación y Substrings
07:08 - 7

Números y Operaciones Matemáticas en JavaScript
09:30 - 8

Conversión de Tipos en JavaScript: Implícita y Explícita
04:33 - 9

Conversión de Tipos en JavaScript: Explícita e Implícita
12:20
Programación Orientada a Objetos en JavaScript: Clases y Prototipos
Clase 39 de 55 • Curso de Fundamentos de JavaScript
Contenido del curso
- 10

Operadores de Comparación en JavaScript: Igualdad y Desigualdad
06:12 - 11

Operadores Lógicos en Programación: AND, OR y NOT
04:33 - 12

Estructuras Condicionales: Uso de IF, ELSE y ELSE IF en JavaScript
07:45 - 13

Juego de Adivinanza: Programación con Estructuras Condicionales
09:36 - 14

Estructura y uso del condicional Switch en programación
12:10 - 15

Ciclo For: Iteración de Listas y Uso de Console.log en JavaScript
07:31 - 16

Iteración con for-of en JavaScript para arrays y strings
04:26 - 17

Iteración sobre Objetos con forIn en JavaScript
07:38 - 18

Uso del ciclo while para iteración en programación
03:56 - 19

Ciclos doWhile: Estructura y Diferencias con While
03:13
- 20

Funciones en JavaScript: Cómo Calcular Precios con Descuentos
11:39 - 21

Diferencias entre Funciones y Métodos en JavaScript
10:01 - 22

Funciones Puras e Impuras en Programación: Conceptos y Ejemplos
11:22 - 23

Arrow Functions y Enlace Léxico en JavaScript
10:31 - 24

Scope y Contextos de Ejecución en JavaScript
12:21 - 25

Closures y Ámbito Léxico en JavaScript
08:00 - 26

Fundamentos del Desarrollo Web: Frontend y Backend
02:11
- 27

Arrays: Propiedades, Acceso y Creación en Programación
09:09 - 28

Mutabilidad e inmutabilidad en arrays: conceptos y ejemplos prácticos
07:56 - 29

Métodos push y pop para modificar arrays en JavaScript
04:33 - 30

Métodos map y forEach en JavaScript: Uso y Ejemplos Prácticos
12:53 - 31

Métodos Filter y Reduce en JavaScript: Uso y Ejemplos Prácticos
11:34 - 32

Métodos find y findIndex en JavaScript: Uso y ejemplos prácticos
03:52 - 33

Uso del método slice para extraer porciones de un array en JavaScript
05:28 - 34

Uso del Spread Operator en JavaScript: Copia, Combinación y Más
07:11
- 35

Programación Orientada a Objetos en JavaScript: Conceptos y Práctica
06:48 - 36

Creación y Manipulación de Objetos en JavaScript
09:05 - 37

Función constructora y gestión de instancias en JavaScript
11:36 - 38

Clases en JavaScript: Creación y Uso de Objetos con Sintaxis Moderna
06:17 - 39

Programación Orientada a Objetos en JavaScript: Clases y Prototipos
02:16 - 40

Prototipos y Herencia en JavaScript: Construcción y Uso Práctico
15:38 - 41

Métodos y herencia prototípica en JavaScript
10:43 - 42

Uso de "this" en Clases y Funciones Constructoras
05:36 - 43

Validación de Usuarios en una Red Social: Algoritmo Básico
12:26 - 44

Implementación de la Función Sign-In y Validación de Usuario
09:00
- 45

Programación Síncrona y Asíncrona en JavaScript
04:37 - 46

Promesas en JavaScript: Asincronía y Manejo de Estados
11:36 - 47

Uso de Async/Await para Promesas Asíncronas en JavaScript
09:51 - 48

Peticiones asíncronas con for await en JavaScript
06:19 - 49

Fundamentos de HTTP: Cliente-Servidor y Métodos de Petición
03:12 - 50

Peticiones HTTP en Frontend: Uso de Fetch y Análisis en Network
07:02 - 51

Peticiones HTTP en JavaScript: Fetch, GET, POST y DELETE
14:26 - 52

Envío de Datos al Servidor con JavaScript y Fetch API
10:40 - 53

Eliminar Posts con JavaScript y Delegación de Eventos
10:15 - 54

Manejo de IDs en JavaScript para eliminar artículos del DOM
02:23 - 55

Actualizaciones y Nuevas Funciones en JavaScript
01:48
¿Cómo funciona la programación orientada a objetos en JavaScript?
La programación orientada a objetos es crucial para entender cómo JavaScript maneja objetos y prototipos. A diferencia de otros lenguajes que utilizan clases basadas en herencia, JavaScript emplea prototipos para gestionar las propiedades y métodos que se comparten entre objetos. Aquí es donde entra en juego la función constructora o clase constructora. Pero, ¿cómo ocurre esto realmente bajo el capó?
¿Qué es un prototipo en JavaScript?
Un prototipo en JavaScript es un objeto del cual otros objetos heredan propiedades y métodos. Al crear una función constructora (o clase constructora), JavaScript automáticamente genera un prototipo asociado a esa función, que se usa como un "molde" para crear instancias de objetos.
En el siguiente ejemplo, creamos una clase constructora para un objeto Persona:
function Persona(nombre, edad, altura, nacionalidad) {
this.nombre = nombre;
this.edad = edad;
this.altura = altura;
this.nacionalidad = nacionalidad;
}
Persona.prototype.saludar = function() {
return `Hola, mi nombre es ${this.nombre}, ¿cómo te llamas tú?`;
};
¿Cómo se crean las instancias de una clase?
Cuando necesitas crear una instancia de un objeto a partir de una clase constructora, llenas este "molde" con los datos específicos. Por ejemplo, al crear una instancia de Persona, como es el caso de José:
var jose = new Persona('José', 30, 1.70, 'colombiano');
¿Qué es la herencia en JavaScript?
La herencia en JavaScript se refiere a la capacidad de un objeto para acceder a propiedades y métodos de otro objeto. Este mecanismo se realiza mediante el uso de prototipos. En el caso anterior, la instancia jose hereda el método saludar del prototipo de Persona.
Al usar el método heredado, el saludo de José se vería así:
console.log(jose.saludar());
// Salida: Hola, mi nombre es José, ¿cómo te llamas tú?
¿Cuál es la ventaja de usar prototipos?
El uso de prototipos en JavaScript permite crear funciones que se comparten entre todas las instancias de una misma clase constructora, evitando así la duplicación y optimizando el uso de memoria. Además, facilita la extensión de objetos sin la necesidad de redefinir métodos para cada instancia nueva.
¿Cómo mejorar la eficiencia en la programación orientada a objetos?
- Reutiliza métodos: Aprovechar la herencia de métodos mediante prototipos permite que las instancias compartan métodos sin replicarlos.
- Modulariza el código: Dividir el código en funciones y clases separadas hace que sea más fácil de mantener y depurar.
- Documenta y comenta: Explicar la lógica de tu código es crucial, especialmente al trabajar con estructuras complejas como la herencia de prototipos.
- Experimenta con patrones de diseño: Patrones como el patrón módulo o el patrón fábrica pueden ser útiles para estructurar y gestionar mejor tu código orientado a objetos.
La programación orientada a objetos en JavaScript puede cambiar la forma en que gestionas y utilizas objetos, haciéndola una herramienta poderosa y flexible para cualquier desarrollador que busque optimizar su código y mejorar su flujo de trabajo.