Wyzwanie podsumowujące
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 46 z 56.
Wyzwanie
Otrzymujesz klasę UserProfile, w której właściwość username została już zaimplementowana. Twoim zadaniem jest dokończenie implementacji właściwości email przy użyciu getterów i setterów:
- Dodaj getter dla
email, który zwraca bieżącą wartość adresu e-mail - Dodaj setter dla
email, który:- Sprawdza, czy adres e-mail zawiera znak '@'
- Jeśli jest prawidłowy:
- Aktualizuje adres e-mail na nową wartość
- Wyświetla dokładnie:
Email updated to [newEmail]
- Jeśli jest nieprawidłowy:
- Wyświetla dokładnie:
Invalid email! - NIE aktualizuje adresu e-mail
- Wyświetla dokładnie:
Spróbuj swoich sił
import { UserProfile } from './user.js';
// Kod testowy - nie modyfikuj
const user = new UserProfile("alice123", "alice@email.com");
user.email = "bob@email.com"; // Poprawny - powinien zarejestrować sukces
user.email = "invalid-email"; // Niepoprawny - powinien zarejestrować błąd
Wszystkie lekcje w sekcji Programowanie obiektowe
1Obiekty i słowo kluczowe this
Szybka powtórka: obiektyDodawanie metod do obiektówZrozumienie słowa kluczowego thisFunkcje konstruktoraSłowo kluczowe newWyzwanie podsumowujące7Dziedziczenie i słowo kluczowe extends
DziedziczenieRelacja „jest rodzajem”Słowo kluczowe extendsMetoda super()Dziedziczenie właściwości i metodWyzwanie podsumowujące10Polimorfizm
Czym jest polimorfizm?Nadpisywanie odziedziczonych metodUżywanie superWyzwanie podsumowujące13Kompozycja a dziedziczenie
Relacja „ma” a relacja „jest”Ograniczenia głębokiego dziedziczeniaTworzenie obiektów2Organizowanie kodu
Czym są moduły?Eksportowanie za pomocą exportImportowanie za pomocą importEksporty domyślne a nazwane5Enkapsulacja i dostęp
EnkapsulacjaPubliczne i prywatne pola klasyMetody prywatneWyzwanie podsumowujące8Organizowanie kodu OOP
Organizowanie klas w moduły11Projekt: Renderer kształtów
Konfiguracja: klasa Shape i eksportDziedziczenie klasy CircleNadpisywanie i metoda obliczania polaStatyczny licznik kształtów14System zarządzania biblioteką
Projektowanie bibliotekiKlasa Book z kompozycjąWalidacja autora książki9Metody i właściwości statyczne
Poziom klasy a poziom instancjiWłaściwości statyczneStatyczne metody pomocniczeWyzwanie podsumowujące12Gettery i settery
Słowa kluczowe get i setWłaściwości obliczaneWalidacja i efekty uboczneWyzwanie podsumowującePoćwicz samodzielnie: Kompilator JavaScript online