A Javascript programozási nyelv

Sablonok

Generikus függvények

Az ECMAScript 4 lehetővé teszi generikus függvények használatát. A típussal történő paraméterezhetőség, függvényeink újrafelhasználhatóságán javít és a későbbi karbantartás költségét csökkenti.
A szabvány utal rá, hogy az ES4 generikus függvényei leginkább a Dylan programozási nyelv multimetódusaihoz hasonlítanak.

Használat

Generikus függvényt a JavaScript 2.0-ban a generic kulcsszó segítségével tudunk létrehozni.

Lépések

  1. Deklarálnunk kell a generikus függvényünket. (törzset nem írunk!) : generic function f(x, y);
  2. Definiálnunk kell a lehetségesen kapcsolódó/kiválasztható konkrét függvényeket. A formális paraméter típusának meghatározásakor használhatjuk az "Any" típust, azaz a *-ot.

A generikus függvények lehetnek static függvények, a static generic függvények pedig lehetnek final függvények.

Működés

Egy generikus függvény hívásakor a hozzákapcsolódó függvényimplementációk közül, az aktuális paraméterek típusa alapján, mindig a legspeciálisabb fog kiválasztódni. Nem egyértelmű helyzetekben futási idejű kivételdobás történik.
Példa:

generic function metszet(h1,h2); // nincs törzs // kapcsolódó konkrét függvények generic function metszet(h1:*,h2:*){ ... // általános eset megvalósítása } generic function metszet(h1:Téglalap,h2:Téglalap){ ... // speciális eset megvalósítása }
Különbség a class és prototype metódusokhoz képest
class, prototpye generic
a konkrét függvényimplementáció a hívó objektum típusa alapján választódik ki a konkrét függvényimplementáció az argumentumok típusa alapján választódik ki