Le prototype de l'objet est destiné à être utilisé sur les fonctions constructeur, essentiellement les fonctions qui peuvent être appelées à l'aide de l' opérateur new pour créer de nouvelles instances de l'objet.
Des fonctions en JavaScript sont de première classe d'objets, ce qui signifie que vous pouvez ajouter des membres à eux et de les traiter comme des objets ordinaires:
var STORE = {
item : function() {
}
};
STORE.item.add = function() { alert('test 123'); };
STORE.item.add();
Une utilisation typique de l'objet prototype comme je l'ai dit avant, c'est lorsque vous instanciez un objet par l'appel d'une fonction constructeur avec le nouvel opérateur, par exemple:
function SomeObject() {} // a constructor function
SomeObject.prototype.someMethod = function () {};
var obj = new SomeObject();
Toutes les instances de SomeObject hériteront les membres de l' SomeObject.prototype
, étant donné que les membres seront accessibles par le biais de la chaîne de prototype.
Chaque fonction en JavaScript a un prototype d'un objet, car il n'y a aucun moyen de savoir quelles sont les fonctions qui sont destinés à être utilisés en tant que constructeurs.