Já vi aqui no treinamento que no JavaScript não temos sobrecarga de construtores. Sendo assim, gostaria de entender como o objeto Date permite a execução conforme sintaxe retirada em
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
new Date();
new Date(value);
new Date(dateString);
new Date(year, month[, date[, hours[, minutes[, seconds[, milliseconds]]]]]);
Grato