We all know that JavaScript reserved keywords cannot be used as variable names. For example, var, function, let, etc are considered special keywords in JavaScript. But consider this code:
var let = "Hi";
console.log(let); // prints out "Hi"
let var = "Hi";
console.log(var); // Syntax error
I am confused as to why the browser did not throw an error when I attempted to use it as variable name, but when I tried with var, it throws an error.
constandletare recent additions to JS, but for a long time before they were added const was a reserved keyword (presumably on the basis that it was thought to be a likely future addition to the language).
Since
letused to be a valid variable name, this is presumably for backwards compatibility.