L’héritage prototype est un mécanisme de JavaScript, le langage de programmation sur lequel est construit Node.js. C’est une forme d’héritage orienté objet basée sur des prototypes au lieu d’utiliser des classes, comme c’est le cas dans d’autres langages de programmation comme Java ou C++.
Chaque objet en JavaScript a une propriété interne appelée prototype. Quand nous créons une fonction ou une méthode et que nous essayons d’y accéder sur une instance de cet objet, JavaScript cherche d’abord dans l’objet lui-même. Si la méthode ou la fonction n’est pas trouvée, il regarde ensuite dans le prototype de cet objet, puis dans le prototype du prototype, et ainsi de suite, jusqu’à arriver à l’objet de base dont le prototype est null. Ce processus est appelé la chaîne de prototypes.
Ce mécanisme d’héritage permet de définir des méthodes et des propriétés qui sont partagées par toutes les instances de l’objet, ce qui peut être une manière efficace d’économiser de la mémoire.
Dans Node.js, l’héritage prototype est largement utilisé, que ce soit dans le coeur de Node.js lui-même ou dans ses modules tiers.