(nettipäiväkirja 03.03.2015) Lueskelen tässä, miten ECMAScriptin periytyvyys toimii. Tiedän siis ihan hyvin, miten prototyyppikielet toimivat noin yleisesti ottaen; ECMAScriptistä on vain vaikeaa ottaa selvää, koska sen dokumentaatio on tosi tosi monessa osassa ja keskittyy kielen, kirjastojen ja toteutusalustojen eri puoliin.
Tässä on varsinainen hämmästyksen aihe: foo.prototype ei tarkoita foo:n prototyyppiä. Sen sijaan se tarkoittaa new foo()-rakenteella muodostettujen olioiden oletusprototyyppiä. WTF, WTF?
Tässä mahtava kuva, joka selventää asiaa: http://www.mollypages.org/misc/js.mp
Tässä muutama mielenkiintoinen artikkeli, joissa verrataan "perinteistä" prototype-ominaisuuteen perustuvaa prototyyppausta ja uutta, jossa tietystä prototyypista muodostetaan suoraan uusia instansseja Object.create()-metodilla: