Tartalomjegyzék

< JavaScript

JavaScript prototype

A prototype

A prototípus egy mechanizmus, amely révén a JavaScript objektumok funkciókat örökölnek egymástól.

A JavaScriptet gyakran nevezik prototípus alapú nyelvnek.

A prototípus segítségével új tulajdonságokkal és metódusokkal egészíthetjük ki az objektumaink konstruktorait.

String példa

A String objektum kiterjesztése print() függvénnyel:

String.prototype.print = function() {
    console.log(this.valueOf());
}
 
let s = 'alma';
 
s.print();

Másik megoldás:

function printString() {
    console.log(this.valueOf());
}
 
String.prototype.print = printString;
 
let s = 'alma'; 
s.print();

Tanuló példa

A prototype segítségével új tulajdonságot adhatunk az objektumainknak:

function Tanulo(nev, nem) {
    this.nev = nev;
    this.nem = nem;
}
 
Tanulo.prototype.kor = 15;
 
let peti = new Tanulo();
console.log(peti.kor);

Dolgozo példa

Új metódus hozzáadása az objektumunk számára:

function Dolgozo(nev, telepules, fizetes) {
    this.nev = nev;
    this.telepules = telepules;
    this.fizetes = fizetes;
}
 
Dolgozo.prototype.munka = function() {
    console.log('munka');
}
 
let janos = new Dolgozo('Nagy János', 'Szolnok', 8350000);
console.log(janos.nev);
janos.munka();

Ha beletesszük a függvénylétrehozást a Dolgozo konstruktorba, minden egyes dolgozó példány esetén külön létrejön a munka() függvény, ami memória pazarlás.