Prototype-overerving is een vorm van object-georiënteerd programmeren waarbij methodes en eigenschappen worden gedeeld door middel van een “prototype”. In Node.js, net als in de meeste JavaScript omgevingen, maken alle objecten intern gebruik van dit mechanisme.
Een object kan een verwijzing hebben naar een ander object, genaamd zijn “prototype”, dat dient als een sjabloon of model van waaruit het object is geïnstantieerd. Elk object erft eigenschappen en methodes van zijn prototype. Als een bepaald object een methode niet direct bezit, wordt het prototype geraadpleegd. Als het prototype die methode ook niet heeft, wordt het prototype van het prototype geraadpleegd, en zo verder totdat het einde van de prototype-keten is bereikt.
Dit betekent dat je methodes en eigenschappen kunt delen tussen veel objecten zonder dat je ze telkens opnieuw hoeft te herhalen of te kopiëren, wat kan leiden tot droger, meer herbruikbaar en beter georganiseerde code.