用語についてはわかりません。
いくつかのデータを含む JavaScript「オブジェクト」があります。
var parent = { foo: 42, bar: 2.71, baz: 3.14 };
親のエントリのローカル オーバーライドをサポートしながら、親オブジェクトへのアクセスを提供する別の JavaScript オブジェクトを作成する必要があります。
var child = extend(parent, { foo: 1, quo: 2 });
child.bar = 3;
parent.qux = 4;
assert(parent.foo === 42);
assert(child.foo === 1);
assert(parent.bar === 2.71);
assert(child.bar === 3);
assert(parent.baz === 3.14);
assert(child.baz === 3.14);
assert(parent.quo === undefined);
assert(child.quo === 2);
assert(parent.qux === 4);
assert(child.qux === 4);
// NB: I don't care about iteration on these objects.
十分にクロスブラウザーでありながら、できるだけオーバーヘッドを低くするソリューションが必要です。親の値を子にコピーすると、オーバーヘッドが大きくなります。
つまり、Lua メタテーブル チェーンに似たものを探していますが、JavaScript で作成されています。
私は[[Prototype]]
チェーンについて読んでいました。進むべき道のように見えますが、ここでそれらを使用する軽量な方法はまだわかりません. (__proto__
私が理解しているように、クロスブラウザでは十分ではありません。)
手がかりはありますか?