Search code examples
javascript

Why does my `name` variable show it's deprecated?


My editor (VS Code) shows that my variable name is deprecated. The variable name is struck out from the 2nd line. Can you help?

let name = 'Mark';
name = 5;
console.log(name);

Solution

  • In a browser, the global name variable has special meaning. This has caused people a lot of confusion over the years as they tried to create their own global variable named name and then found it coerced into a string.

    The checker you are using doesn't appear able to special case an assignment to name if it follows a declaration of let name.

    You can see that the message goes away if you put the code inside a function.

    Screenshot demonstrating the above