O método split()
retorna um array de string, certo? E no exemplo ao passar um array de strings ["2016", "12", "11"]
(Note a indexação do mês começando em 1) a data retornada está correta. Por que o spread operator (aparentemente) modifica o retorno para um array de numbers? (Assumo que é isso que o spread operator faz, pois caso contrário o lógico seria supor que os parâmetros 1, 2 e 3 passados para o construtor seriam strings e a data retornada estaria correta, sendo que ao passar os parâmetros como numbers (exemplo na vídeo-aula) podemos observar que a data está incorreta por conta da indexação do mês).