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
~~~
Ist aber derbes Meta-Programming-Gehacksel, vielleicht doch besser nicht so machen.