< JavaScript

JavaScript prototype

Szerző: Sallai András

Copyright © 2021, Sallai András

Licenc: CC Attribution-Share Alike 4.0 International

Web: https://szit.hu

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.