Доступ к переменным, объявленным внутри оператора переключателя JavaScript извне
Почему
switch ("string") {
case "string":
const text = "Hello World!"
break
}
console.log(text)
вернуть error: Uncaught ReferenceError: text is not defined
?
Я не понимаю, почему текст переменной возвращается неопределенным.
2 ответа
Потому что это не в том же объеме. Примерно так должно работать:
let text
switch ("string") {
case "string":
text = "Hello World!"
break
}
console.log(text)
Объявление переменной с const похоже на let, когда дело доходит до Block Scope.
В этом примере x, объявленный в блоке, не совпадает с x, объявленным вне блока:
var x = 10;
// Here x is 10
{
const x = 2;
// Here x is 2
}
// Here x is 10