I’m going through the exercises for practice, and it says that if I use let, I won’t be able to overwrite the variable. But, when I open up a different tab and try it in the console, it lets me. Am I missing something here?
It doesn’t say you cannot overwrite/change the value stored in the variable. It says that you cannot re-declare the variable in the same scope.
var, when you use
let, a variable with the same name can only be declared once.
You can review what ‘declaring’ means here:
Could you give me an example of this?
This is not permitted
let camper = "James"; let camper = "David";
because the variable
camper is declared twice.
However, this is permitted
let camper = "James"; camper = "David";
I understand that, but my question is, When i put that exact code into the console on a browser. it just gives me undefined and then i can console.log() it and it gives me the “David”
Thank you btw.
Which ‘exact code’? The first or the second?
let camper = “James”;
// then i hit enter to get undefined
let camper = “David”;
//then i hit enter to get undefined
// result is david with no errors
You can also get strange scoping rules in certain special debugging modes.
Thank You for clarifying.