Dies ist tatsächlich möglich Object.create. Es funktioniert nicht für "nicht definierte" Eigenschaften. Aber für diejenigen, denen ein Standardwert zugewiesen wurde.
var defaults = {
a: 'test1',
b: 'test2'
};
Wenn Sie dann Ihr Eigenschaftenobjekt erstellen, tun Sie dies mit Object.create
properties = Object.create(defaults);
Jetzt haben Sie zwei Objekte, bei denen das erste Objekt leer ist, der Prototyp jedoch auf das defaultsObjekt zeigt. Zu testen:
console.log('Unchanged', properties);
properties.a = 'updated';
console.log('Updated', properties);
console.log('Defaults', Object.getPrototypeOf(properties));