从外部访问 JavaScript switch 语句中声明的变量
Access variables declared inside JavaScript switch statement from outside
为什么
switch ("string") {
case "string":
const text = "Hello World!"
break
}
console.log(text)
return error: Uncaught ReferenceError: text is not defined
?
我不明白为什么变量文本 return 未定义。
在块作用域中,用 const 声明变量类似于 let。
在本例中,块中声明的 x 与块外声明的 x 不同:
var x = 10;
// Here x is 10
{
const x = 2;
// Here x is 2
}
// Here x is 10
因为不在同一个范围内。这样的事情应该有效:
let text
switch ("string") {
case "string":
text = "Hello World!"
break
}
console.log(text)
为什么
switch ("string") {
case "string":
const text = "Hello World!"
break
}
console.log(text)
return error: Uncaught ReferenceError: text is not defined
?
我不明白为什么变量文本 return 未定义。
在块作用域中,用 const 声明变量类似于 let。
在本例中,块中声明的 x 与块外声明的 x 不同:
var x = 10;
// Here x is 10
{
const x = 2;
// Here x is 2
}
// Here x is 10
因为不在同一个范围内。这样的事情应该有效:
let text
switch ("string") {
case "string":
text = "Hello World!"
break
}
console.log(text)