Operator new w JavaScript

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Operator new w JavaScript

Operator new służy w JavaScript do tworzenia nowej instancji obiektu na podstawie konstruktora, czyli funkcji konstruktora albo klasy. Zapis:

var napis1 = new Napisy();

oznacza: utwórz nowy obiekt klasy/konstruktora Napisy i przypisz go do zmiennej napis1.

Co robi new?

Po użyciu operatora new JavaScript:
- tworzy nowy pusty obiekt,
- ustawia jego prototyp na prototyp konstruktora,
- wywołuje konstruktor z this wskazującym na nowy obiekt,
- zwraca utworzony obiekt, jeśli konstruktor nie zwróci jawnie innego obiektu.

Przykład z klasą

class Napisy {
  constructor(tresc) {
    this.tresc = tresc;
  }
}

var napis1 = new Napisy("Egzamin");
console.log(napis1.tresc); // Egzamin

W tym przykładzie Napisy jest klasą, a napis1 jest obiektem, czyli instancją tej klasy.

Przykład z funkcją konstruktora

function Osoba(imie) {
  this.imie = imie;
}

var uczen = new Osoba("Anna");
console.log(uczen.imie); // Anna

Funkcja Osoba pełni rolę konstruktora. Operator new tworzy obiekt uczen.

Typowy błąd egzaminacyjny

Zapis var napis1 = new Napisy(); nie tworzy klasy napis1. Klasa lub konstruktor to Napisy, natomiast napis1 to zmienna przechowująca nową instancję obiektu.

W pytaniach egzaminacyjnych najważniejsze skojarzenie to: new = utworzenie nowego obiektu / instancji klasy.