Answer
JavaScript testВыведет:
Тут дело в области видимости переменной объявленной через let.
В нашем примере фактически две независимые переменные а, одна - глобальная, вторая - в блоке if.
Заметим, что если объявление
let a = 5;
в первой строке удалить, то в консоли будет ошибка:
Это потому, что переменная let всегда видна именно в том блоке, где объявлена, и не более.
Код для проверки:
let a = 5; if (a) { let a = 2; a *= a; } console.log(a);