Słowo kluczowe new
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 5 z 56.
Słowo kluczowe new w JavaScript służy do tworzenia instancji funkcji konstruktora, które pełnią rolę szablonów do tworzenia obiektów.
Utwórz funkcję konstruktora dla obiektu Person:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}Użyj słowa kluczowego new, aby utworzyć instancję:
const john = new Person("John", 30);Po wykonaniu powyższego kodu john jest obiektem z właściwościami i metodą:
john.namema wartość "John"john.agema wartość 30john.greet()zwraca "Hello, my name is John"
Bez słowa kluczowego new this odnosiłoby się do obiektu globalnego (lub miało wartość undefined w trybie ścisłym), a nie do nowej instancji.
Wyzwanie
Utwórz obiekt samochodu i wyświetl jego opis
Otrzymujesz funkcję konstruktora, która tworzy obiekty samochodów. Twoje zadanie:
- Utwórz nowy obiekt samochodu za pomocą słowa kluczowego
new, podaj "Honda" jako nazwę i 2018 jako rok - Wywołaj metodę
getDescriptiondla swojego obiektu samochodu - Wyświetl wynik w konsoli
Spróbuj swoich sił
function Car(name, year) {
this.name = name;
this.year = year;
this.getDescription = function() {
return "This is a " + this.name + " from " + this.year;
};
}
// TODO: Utwórz nowy obiekt samochodu, używając słowa kluczowego new, przekazując "Honda" jako nazwę i 2018 jako rok
// TODO: Wywołaj metodę getDescription na swoim obiekcie samochodu i wyświetl wynik w konsoli
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
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ącePoćwicz samodzielnie: Kompilator JavaScript online