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.
Generikus függvényt a JavaScript 2.0-ban a generic kulcsszó segítségével tudunk létrehozni.
A generikus függvények lehetnek static függvények, a static generic függvények pedig lehetnek final függvények.
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:
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 |