Objekt in Array so zulässig?
bearbeitet von 1unitedpower> > > Das würde ich nicht machen, weil man hier mit Magic Strings arbeiten muss. Wenn sich an den Bezeichnern etwas ändert, muss man diese Strings mit berücksichtigen.
> >
> > Ja, muss ich halt auch bei properties.
>
> Vorschlag zur Güte:
>
> ~~~js
> function lense (target) {
> const wrap = () => target;
> return new Proxy(wrap, {
> get : function (_, property) {
> return lense(target[property])
> },
> apply : function() {
> return target
> }
> });
> }
>
> lense({foo:{bar:42}}).foo.bar() // 42
> lense({foo:{bar:42}}).bar.foo() // undefined
> ~~~
Habs gerade mal getestet, klappt auch gar nicht. Aber irgendwie so in der Art würde es mit Proxies wohl auch gehen.