Answer
JavaScript testВыведет:

Тут дело в области видимости переменной объявленной через let.
В нашем примере фактически две независимые переменные а, одна - глобальная, вторая - в блоке if.
Заметим, что если объявление
let a = 5;
в первой строке удалить, то в консоли будет ошибка:

Это потому, что переменная let всегда видна именно в том блоке, где объявлена, и не более.
Код для проверки:
let a = 5;
if (a) {
let a = 2;
a *= a;
}
console.log(a);