In JavaScript, I can declare a variable using var
in an if
statement, without a block statement:
if (true)
var theAnswer = 42
However, trying to declare a variable using let
or const
without a block statement gives an error:
if (true)
let theAnswer = 42
Chrome throws SyntaxError: Unexpected identifier
, Firefox—SyntaxError: lexical declaration not directly within block
.
if (true)
const theAnswer = 42
Here Chrome throws SyntaxError: Unexpected token const
, Firefox—SyntaxError: const declaration not directly within block
.
What is the reason of that? Is there anything in the specification that would explain this behavior?
Aucun commentaire:
Enregistrer un commentaire