I wonder what is declaration of i in if statment,if i dont declare it with let it shows value of i in CheckScope ,but if i declare it with var it shows error

Tell us what’s happening:
Describe your issue in detail here.

  **Your code so far**
function checkScope() {
let i = 'function scope';
if (true) {
  let i = 'block scope';
  console.log('Block scope i is: ', i);
}
console.log('Function scope i is: ', i);
return i;
}
  **Your browser information:**

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36

Challenge: Compare Scopes of the var and let Keywords

Link to the challenge:

Because var isn’t block-scoped. And if you use var inside if that would be the same if you declare it in the function scope. 2 variable with the same name in the scope == error. (And it works if one of the variables is declared with let)

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.