Ich finde aber, dass es so besser ist:
function addDays(inputDate, numDays) { return new Date(inputDate.getYear(), inputDate.getMonth(), inputDate.getDay() + numDays); }
Was heisst hier "besser"? Das ist das was funktioniert.
Fachlich möglicherweise richtig.
Alles andere sind Krücken.
Was machste, wenn der Kunde die Mondphasen dazu haben will? Oder Feiertage von - bis? Dann fängste nämlich wieder von vorne an und hast jede Menge redundanten Code. Deswegen ist es eben doch besser, von Anfang an mit fortlaufenden Tagen zu rechnen. Modulo 7 gibt den Wochentag und Tage addieren wird zu einem x plus y ist gleich Datum. Beginn, Ende DST berechnen reduziert sich ebenfalls auf eine Subtraktion und wenn Date ein Objekt des heutigen Tages ist, ist Date++ das Datum von morgen.
Und Deine Vorgehensweise ist Schnee von gestern ;)