Tach!
Dem JavaScript-Standardkomittee liegt ein neues Proposal vor: do-Expressions ummanteln Statements und geben den finalen Wert der Berechnung zurück. Für mich persönlich ist das eines der größten Highlights seit Anbeginn der JavaScript-Epoche.
Ich finde es gut, wenn ihr euch darüber begeistern könnt. Für meinen Teil betrachte ich die Sache mit dem Nutzen im Hinterkopf, denn ich davon haben kann. Der Erfolg einer Sprache hängt nicht unbedingt davon ab, was aus akademischer Sicht die Sprache in Richtung eines bestimmten Paradigmas bewegt, sondern was man im täglichen (Berufs)leben davon hat. Typescript beispielsweise ist so erfolgreich, weil es die Sprache um Dinge erweitert, die einen großen praktischen Nutzen haben. Dabei bleibt die eigentlichen Sprache weitgehend erhalten, es kommen keine außergewöhnlichen Elemente hinzu (mit der C#-Brille auf der Nase).
const salutation = do { switch (animal) { case dog: 'good boy'; break; case kitty: 'meow'; break; case goose: 'muuuuuuh'; break; } };
Das kann ich heutzutage auch schon als Ausdruck haben.
const animal = 'monkey';
const salutation = {
dog: 'good boy',
kitty: 'meow',
goose: 'muuuuuuh'
}[animal] || 'hi';
Zumindest in der kurzen Form des Beispiels. Es geht so nicht mit falsy Werten, aber die hat man selten in solchen Anwendungsfällen. Komplexe Ausdrücke jedoch, die erst zur Laufzeit berechnet werden, gehen damit, wenn man eine Funktionsreferenz zurückgibt, die man dann aufruft.
dedlfix.