ID: 2920 OOP - Podstawy Średnie

Źródło: Arkusze CKE

Co zostanie wyświetlone po wykonaniu poniższego kodu?
function Person(name) {
this.name = name;
}

Person.prototype.sayHello = function() {
return Hello, ${this.name}!;
};

const person = new Person('John');
console.log(person.sayHello());

Warianty odpowiedzi

  1. A

    Hello, undefined!

  2. B

    Hello, John!

  3. C

    TypeError: person.sayHello is not a function

  4. D

    Hello, [object Object]!

Wyjaśnienie

Kod demonstruje tradycyjne podejście do obiektowości w JavaScript z wykorzystaniem prototypów.

Funkcja Person pełni rolę konstruktora, który przy tworzeniu nowego obiektu przypisuje przekazane imię do właściwości name. Metoda sayHello zostaje dodana do prototypu, dzięki czemu jest współdzielona przez wszystkie instancje.

Tworząc obiekt poprzez new Person('John'), przypisujemy do właściwości name wartość John.

Wywołanie metody sięga do prototypu i zwraca sformatowany tekst Hello, John!.

Sprawdź się w praktyce

Rozwiąż pełny test próbny INF.04 albo wylosuj pojedyncze pytanie na szybką powtórkę.

Podobne pytania — OOP - Podstawy