Hi!
Hm, ist es nicht irgendwie bedenklich, Konstrukte zu verwenden, die trotz gleicher Syntax in verschiedenen Sprachen verschieden wirken? Da baut man sich ja gleich potentielle Fehlerquellen mit in den Code ein.
Ich finde es eher bedenklich zu sehr die Sprachen miteinander zu vergleichen, und die Arbeitsweise mit einer Sprache auf andere übertragen zu wollen. Das geht mitunter, hindert einen aber womöglich daran, sich ganz auf die Philosophie der anderen Sprache einzustellen und die Lösung an dieser zu orientieren - oder gar die Sicherheitsmechanismen unangemessen verwendet, wenn man von einer auf die andere schließt, es dort jedoch entscheidende Differenzen gibt.
Für die gezeigten Beispiele würde ich das switch(true) nicht verwenden wollen. Es spielt seine Stärken eher aus, wenn zu den variablen Testausdrücken noch Fall-Through benötigt wird und für den sich sonst wiederholenden Code (in den einzelnen if-Blöcken) das Schreiben einer Funktion als ungünstig angesehen wird.
Lo!