Hallo Gunnar Bittersmann,
const B = Object.create(A);
Du irrst. Das erzeugt ein neues Objekt in B mit A als Prototyp und keine unabhängige Kopie. Wenn, dann mit Object.assign:
const A = { foo: 2, bar: 3 };
const B = Object.create(A);
const C = Object.assign({}, A);
console.log(B.foo, C.foo); // 2 2
A.foo = 22;
console.log(B.foo, C.foo); // 22 2
Object.assign(x,y) nimmt die Eigenschaften aus y und kopiert sie nach x. x wird dann auch zurückgegeben. Deswegen das leere Objekt als erstes Argument.
Der Spread-Operator ist einfacher und gut unterstützt, darum habe ich Object.assign nicht erwähnt.
Rolf
--
sumpsi - posui - obstruxi
sumpsi - posui - obstruxi