I was playing around with unadvisable variable declarations and came to the observations below.
Defining a variable with the name 'let', like so:
let let = 7;
somewhat unsurprisingly leads to the error: SyntaxError: let is disallowed as a lexically bound name.
Attempting to do the same with the variable name 'const', like so:
let const = 7;
leads to the different error: SyntaxError: Unexpected token 'const'.
Looking at the specs, section 13.3.1.1 Static Semantics: Early Errors disallows 'let' as a variable name in this type of declarations (without mentioning 'const').
This is more of a curiosity, but what is happening behind the scenes, which would make 'let' merely be seen as a disallowed variable name while making 'const' be interpreted as a token?
(Incidentally var let = 7 appears to be syntactically correct JavaScript, while var const = 7 also leads to the error SyntaxError: Unexpected token 'const'.)