As shown above, a variable got locked in console after declared with error. Neither can I assign nor re-declare it.
However, everything works just fine when using "var". In this answer, @ThinkingStiff explained it:
Redeclaration:
Assuming strict mode, var will let you re-declare the same variable in the same scope. On the other hand, let will not.
So I wonder what feature of "let" produces this lock.
My guess: "let" first creates a temporal dead zone then assigns it with the statement all in one operation(one continuous series). Error occurred in the assignment statement didn't break the dead zone.
ps. I'm using Chrome 71.