Skip to content
Az oldal tartalma

Prototípusok

A prototype-on keresztül egy darab függvényt vagy változót tudunk hozzáragasztani az osztályhoz. Fontos, hogy mindig legyen kezdőértéke. A függvényen belül this segítségével tudunk hivatkozni az adott példányra amin meg fogjuk hívni. Fontos, hogy csak publikusan látható tagokat érünk el!

JavaScript
Map.prototype.sum = function (){
    let sum = 0;
    for(const item of this.values()){
      sum += item;
    }
    return sum;
}

const map1 = new Map();

...

console.log(map1.sum());

VIGYÁZAT!

Amire nagyon oda kell figyelni,hogy a prototype-on keresztül hozzáadott változó automatikusan statikus lesz, de nem érhetjük el, csak a prototype-on keresztül!

Ha példány szinten szeretnénk megváltozhatni, akkor már a létrehozott néven tudjuk a pédányon hívni.

JavaScript

class Card{
  ...
}

Card.prototype.image = "https://place.tld/best.png";

const card1 = new Card();

card1.image = "https://other.tld/best.png"

console.log(card1.image);
//https://other.tld/best.png
console.log(Card.prototype.image);
//https://place.tld/best.png

Mixinek

Mixineknek azokat az objektumokat hívjuk, amelyeket hozzá ragasztunk egy osztály prototípusához. Ennek az az előnye, hogy egyszerre több tulajdonságot tudunk hozzáragasztani. A hozzáragasztás az Object osztály statikus assign függvényén keresztül fog történni, ahol először megadjuk az osztályunk prototípusát, majd ezt követően a mixint, amit hozzá szeretnkénk tenni.

JavaScript
const userMixin = {
  image: "https://server.tld/profile-picture.png",
  resetPassword(newPass){
    this.Password = newPass;
  }
}

Object.assign(User.prototype,userMixin);
\pagebreak

A tananyag jelenlegi verziója: 4.0.0