JavaScript Nouvel objet du prototype


Exemple

En JavaScript, tout objet peut être le prototype d'un autre. Lorsqu'un objet est créé en tant que prototype d'un autre, il hérite de toutes les propriétés de son parent.

var proto = { foo: "foo", bar: () => this.foo };

var obj = Object.create(proto);

console.log(obj.foo);
console.log(obj.bar());

Sortie de la console:

> "foo"
> "foo"

REMARQUE Object.create est disponible à partir d'ECMAScript 5, mais voici un polyfill si vous avez besoin du support pour ECMAScript 3

if (typeof Object.create !== 'function') {
    Object.create = function (o) {
        function F() {}
        F.prototype = o;
        return new F();
    };
}

Source: http://javascript.crockford.com/prototypal.html


Object.create ()

La méthode Object.create () crée un nouvel objet avec l'objet prototype et les propriétés spécifiés.

Syntaxe: Object.create(proto[, propertiesObject])

Paramètres :

  • proto (objet qui devrait être le prototype de l'objet nouvellement créé)
  • propertiesObject (Facultatif. Si spécifié et non indéfini, objet dont les propriétés propres énumérables (c'est-à-dire les propriétés définies sur lui-même et propriétés non énumérables le long de sa chaîne prototype) spécifient des descripteurs de propriétés à ajouter à l'objet nouvellement créé noms de propriétés: ces propriétés correspondent au second argument de Object.defineProperties ().)

Valeur de retour

Un nouvel objet avec l'objet prototype et les propriétés spécifiés.

Des exceptions

Une exception TypeError si le paramètre proto n'est pas null ou un objet.