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.