Desafío de repaso
Parte de la sección Programación Orientada a Objetos del Journey de JavaScript de Coddy. Lección 46 de 56.
Desafío
Se te proporciona una clase UserProfile con la propiedad username ya implementada. Tu tarea es completar la implementación para la propiedad email utilizando getters y setters:
- Añade un getter para
emailque devuelva el valor actual del email - Añade un setter para
emailque:- Valide que el email contenga el carácter '@'
- Si es válido:
- Actualice el email al nuevo valor
- Muestre en consola exactamente:
Email updated to [newEmail]
- Si es inválido:
- Muestre en consola exactamente:
Invalid email! - NO actualice el email
- Muestre en consola exactamente:
Pruébalo tú mismo
import { UserProfile } from './user.js';
// Código de prueba - no modificar
const user = new UserProfile("alice123", "alice@email.com");
user.email = "bob@email.com"; // Válido - debería registrar éxito
user.email = "invalid-email"; // Inválido - debería registrar error
Todas las lecciones de Programación Orientada a Objetos
1Objetos y la palabra clave this
Repaso rápido: ObjetosAgregar métodos a los objetosEntendiendo la palabra clave thisFunciones constructorasLa palabra clave newDesafío de repaso7Herencia y la palabra clave extends
HerenciaLa relación "es-un"La palabra clave extendsEl método super()Heredar propiedades y métodosDesafío de repaso13Composición vs. Herencia
La relación "tiene-un" vs. "es-un"Los límites de la herencia profundaConstrucción de objetos2Organización del código
¿Qué son los módulos?Exportar con exportImportar con importExportaciones por defecto vs. nombradas5Encapsulamiento y Acceso
EncapsulamientoCampos de clase públicos y privadosMétodos privadosDesafío de repaso8Organización del código OOP
Organizar clases en módulos11Proyecto: Un renderizador de figuras
Configuración: Clase Figura y exportaciónHerencia de la clase CírculoSobrescritura y método de áreaContador de figuras estático14Sistema de Gestión de Biblioteca
Diseño de la BibliotecaClase Libro con ComposiciónValidación del Autor del Libro9Métodos y propiedades estáticos
Nivel de clase vs. Nivel de instanciaPropiedades estáticasMétodos de utilidad estáticosDesafío de repaso12Getters y Setters
Las palabras clave get y setPropiedades computadasValidación y efectos secundariosDesafío de repasoPractica por tu cuenta: Compilador de JavaScript online