Redeclaring A Variable Using `let` Results In “uncaught Syntaxerror: Redeclaration Of Let …”
Solution 1:
You cannot use let to redeclare a variable, whereas you can with var:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let
Redeclaring the same variable within the same function or block scope raises a SyntaxError.
let has different (arguably more useful) scoping rules than var to help prevent many types of bugs caused by var's quirks which don't exist in other languages but which must be retained in JavaScript for backwards compatibility with scripts written decades ago.
Sidenote on let:
Note that many programming languages have the let keyword and often use it for declaring variables and constants - however note that each language's use of let has very different behavior, so do not expect let in JavaScript to behave like let in Swift, for example.
- JavaScript:
let- declares a variable whose scope is limited to the enclosing block, as opposed tovarwhich uses either the global scope or the function scope (and understanding howvarchooses between the two is not easy for beginners to understand). Because redeclaring a variable in the same scope is a meaningless operation that is probably done in-error it will give you a compiler error, whereas redeclaring withvaris valid inside a closure. - Swift:
let- declares a constant. Note that a "constant" is not just a literal value, but also includes complex objects that are immutable. - Rust:
let- Introduces a variable binding. Essentially the same thing asletin JavaScript except by default values are immutable (like in Swift). Uselet mutto declare a mutable variable. - C#:
letis a Linq keyword shorthand forSelectandSelectMany. - VBScript, VBA and VB6:
Letis a keyword that declares a class propertysetter for a value-type (i.e. not object-types).
Solution 2:
Let cannot be re-declared in the same scope ( What you are doing is re-declaring, Rather you should not use the 'let' keyword in the 2nd line and would just reassign ).
Post a Comment for "Redeclaring A Variable Using `let` Results In “uncaught Syntaxerror: Redeclaration Of Let …”"