Обращение к переменной до ее инициализации

Совсем детский вопрос, но не могу разобраться. Браузер ругается на последнюю строчку can't access lexical declaration 'date' before initialization, хотя переменная date уже объявлена. В чем может быть причина?

let date = new Date();
date.setDate(date.getDate() - 14);
for (let i = 0; i < 14; i++) {
  date.setDate(date.getDate() + 1);
}

let dateArray = [];
let date = new Date();
date.setDate(date.getDate() - 14);
for (let i = 0; i < 14; i++) {
  date.setDate(date.getDate() + 1);
  let day = date.getDate();
  let month = date.getMonth();
  let year = date.getyear();
  let date = `${day}-${month}-${year}`;
  dateArray.push(date);
}


Ответы (1 шт):

Автор решения: Igor

Это известный баг в английском языке. В нем очень мало слов.

{
  date.setDate(date.getDate() + 1);      <---
  ...
  let date = `${day}-${month}-${year}`;  <---
}
→ Ссылка