Простой пример этого - let, но он не работает с let.
let test = 1
{
console.log(test) // Error cannot access 'test' before initialization
let test = 2
}
console.log(test)
с var's it вроде работает, но использование var test = 2
или test = 2
не имеет значения, так что это немного странно для меня, потому что повторное выделение теста с var test
должно иметь отличается от test = 2
, но это не так? : o
var test = 1
{
console.log(test) // 1
var test = 2
console.log(test) // 2
}
console.log(test) // 2
но я хочу
var test = 1
{
console.log(test) // 1
var test = 2
console.log(test) // 2
}
console.log(test) // 1
Есть ли способ достичь этого ????
Я был пробую это, но безуспешно:
let test = 1
{
let test = (new Function('return test'))()
console.log(test) // 1
test = 2
console.log(test) // 2
{
let test = (new Function('return test'))()
console.log(test) // 2
test = 3
console.log(test) // 3
}
}
console.log(test) // 1