functionf() {let a =1; // let declaration// var a = 2; // <----- var declaration is hoisted here❗️// which raises a redeclaration SyntaxError.// (let doesn't allow redeclaration)// block scope {// ⭐️ `var` doesn't have block scope, // cannot shadow `let` variable in outer enclosing scope.var a =2;// ^// ⛔ SyntaxError: Identifier 'a' has already been declared }// another block {let b =3;// ❗ although `var` doesn't have "block scope", // we can't put let/var in the same block either.var b =4;// ^// ⛔ SyntaxError: Identifier 'b' has already been declared }}