Несколько let для одной переменной

Одну и ту же переменную нельзя объявить несколько раз через let. К примеру, следующий код приведет к ошибке:

javascriptlet a = 1;
alert(a);

let a = 2;
alert(a);

Здесь есть два варианта решения проблемы. Можно просто ввести две разных переменных:

javascriptlet a = 1;
alert(a);

let b = 2;
alert(b);

А можно вначале объявить переменную a, а затем делать операции с нею:

javascriptlet a;

a = 1;
alert(a);

a = 2;
alert(a);