1unitedpower: javascript - Variable Scope - Recursion - Problem

Beitrag lesen

Hmm ... vielleicht wäre es performanter ich würde matches = matches [] weglassen und einfach einfordern, dass drei Parameter übergeben werden, von denen einer eben ein leeres Array ist?

Es gibt sehr gute Profiling-Tools für JavaScript mit denen sich zielgerichtete Performance-Analysen betreiben lassen – mit spekulativen Optimierungen kommt man in der Regel nicht weit. Die große Herausforderung liegt darin zu überbrücken, dass sich die Modelle der JS-Semantik, die moderne Jit-Compiler haben, wesentlich von unseren intuitiven Vorstellungen unterscheiden.

Und trotzdem spekuliere ich mal, dass dein Flaschenhals die vielen synchronen IO-Operationen mit der Festplatte sind und die asynchronen Pendants der fs-Funktionen dir einen massiven Boost geben könnten.

Einen Schönheitsfehler hat matches = matches || [] als Pattern für Default-Parameter dennoch: Es funktioniert generell nicht mit Parametern, die falsy Werte annehmen können. Stattdessen hat JavaScript heute seine eigene Syntax dafür:

function foo (bar = []) { /* ... */ }