Hallo dedlfix,
Das kann ich heutzutage auch schon als Ausdruck haben.
const animal = 'monkey'; const salutation = { dog: 'good boy', kitty: 'meow', goose: 'muuuuuuh' }[animal] || 'hi';
Deine Gänse machen mir Angst!
Das Thema hatte ich neulich schon mit PL: Das ist NICHT das gleiche wie eine do-Expression oder eine richtig gemachte Ternary-Kette. Im von Dir gezeigten Fall wird ein Objekt erzeugt, dann ein Property davon genutzt und das Objekt schließlich wieder fortgeworfen. Solange die Properties Konstanten sind, ist das nicht allzu teuer. Funktionsreferenzen sind im komplexen Fall natürlich machbar, verlangen aber trotzdem erstmal das Anlegen eines Objekts und auch die Existenz von Funktionen und eine einheitliche Schnittstelle.
In den meisten Fällen wird der dadurch entstehende Overhead ohne Bedeutung sein, aber es gibt auch in JavaScript zeitkritische Situationen, vor allem auf Servern (node.js) und wer dann ganz selbstverständlich mit diesen Temp-Objekten agiert, mag sich wundern warum seine JS-App so langsam ist bzw. warum sein Server nur 100 Requests pro Sekunde schafft statt 1000. Ok, ist übertrieben.
Sorry, wenn ich auf solchen Dingen rumreite, aber wer in den 80ern das Programmieren angefangen hat, geizt mit jedem Byte und CPU-Taktzyklus 😀
Rolf
sumpsi - posui - clusi