dedlfix: try/catch - warum wird throw new Error() nicht ausgeführt und ist das die richtige Art, zurückzugeben was genau falsch ist?

Beitrag lesen

Tach!

Vielen Dank für eure Hilfe und Tipps. Ich habe hier jetzt ein Beispiel erstellt: https://codepen.io/ebody/pen/bGoRbPR

Neben RolfBs Tipps solltest du dir vor allem die Frage stellen: Muss die Prüfung und das was sie antwortet überhaupt so penibel und ausführlich sein?

Abgesehen davon ist einiges dabei, das man kürzer schreiben kann.

Array.isArray() und Vergleiche à la typeof x == 'string'oder x > 0 liefern bereits true oder false. Das muss man nicht nochmal auswerten und dann auch nichts anderes als true oder false zurückgeben.

Auch klammerst du zu viel. Array.isArray(val) ist ziemlich eindeutig, das muss man nicht noch extra klammern. Klammern erhöhen die Lesbarkeit und tragen zum Erkennen der Intention bei, auch wenn sie technisch überflüssig sind. Aber sowas zahlt sich eher bei komplexen Ausdrücken aus. Bei einfachen Ausdrücken erhöhen sie nur die Komplexität ohne weiteren Nutzen. Dass bei einem (val.length > 0) ? true : false das > eine höhere Priorität als der ternäre Operator hat, sollte man einerseits wissen, andererseits ist es ziemlich klar, dass nicht nur die 0 vom ternären Operator ausgewertet werden soll.

dedlfix.