Итоговое задание
Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy — урок 46 из 56.
Задание
Вам предоставлен класс UserProfile с уже реализованным свойством username. Ваша задача — завершить реализацию для свойства email, используя геттеры и сеттеры:
- Добавьте геттер для
email, который возвращает текущее значение email - Добавьте сеттер для
email, который:- Проверяет, содержит ли email символ '@'
- Если валиден:
- Обновляет email новым значением
- Выводит в консоль точно:
Email updated to [newEmail]
- Если невалиден:
- Выводит в консоль точно:
Invalid email! - НЕ обновляет email
- Выводит в консоль точно:
Попробуйте сами
import { UserProfile } from './user.js';
// Тестовый код — не изменять
const user = new UserProfile("alice123", "alice@email.com");
user.email = "bob@email.com"; // Валидно — должно вывести сообщение об успехе
user.email = "invalid-email"; // Невалидно — должно вывести ошибку
Все уроки раздела Объектно-ориентированное программирование
1Объекты и ключевое слово this
Краткий обзор: ОбъектыДобавление методов в объектыПонимание ключевого слова thisФункции-конструкторыКлючевое слово newИтоговое испытание7Наследование и ключевое слово extends
НаследованиеОтношение «is-a»Ключевое слово extendsМетод super()Наследование свойств и методовИтоговое испытание10Полиморфизм
Что такое полиморфизм?Переопределение унаследованных методовИспользование superИтоговое задание13Композиция против наследования
Отношения «has-a» и «is-a»Ограничения глубокого наследованияСоздание объектов2Организация кода
Что такое модули?Экспорт с помощью exportИмпорт с помощью importDefault против именованных экспортов5Инкапсуляция и доступ
ИнкапсуляцияПубличные и приватные поля классовПриватные методыЗадание на повторение8Организация кода ООП
Организация классов в модули11Проект: Отрисовщик фигур
Настройка: Класс Shape и экспортНаследование класса Circle14Система управления библиотекой
Проектирование библиотекиКласс Book с использованием композиции6Проект: Простой банковский счет
Класс BankAccountПополнение и снятие средств9Статические методы и свойства
Уровень класса против уровня экземпляраСтатические свойстваСтатические вспомогательные методыЗадание на закрепление12Геттеры и сеттеры
Ключевые слова get и setВычисляемые свойстваВалидация и побочные эффектыИтоговое задание