O new Date() permite receber como parâmetro um array contendo [ano, mês, dia]. Desta forma a contagem de meses vai de 1 a 12, não tendo a necessidade de realizar o decremento do mês.
let dataString = '17-05-2016';
dataString = dataString.split('-');
dataString = [dataString[2], dataString[1], dataString[0]];
let novaData = new Date(dataString);
OU
let dataString = '17-05-2016';
dataString = dataString.split('-');
let novaData = new Date( [dataString[2], dataString[1], dataString[0]]);
OU
let dataString = '17-05-2016';
let novaData = new Date(dataString.split('-').reverse());
Acho que seria interessante adicionar isso na descrição da aula (15 - "Isso" não encaixa em um "Date"? Se vira!) já que simplifica o código.