为什么
switch ("string") {
case "string":
const text = "Hello World!"
break
}
console.log(text)
返回error: Uncaught ReferenceError: text is not defined
?
我不明白为什么变量文本返回未定义。
为什么
switch ("string") {
case "string":
const text = "Hello World!"
break
}
console.log(text)
返回error: Uncaught ReferenceError: text is not defined
?
我不明白为什么变量文本返回未定义。
因为不在同一个范围内。像这样的东西应该工作:
let text
switch ("string") {
case "string":
text = "Hello World!"
break
}
console.log(text)
当涉及到块作用域时,使用 const 声明变量与 let 类似。
在这个例子中,在块中声明的 x 与在块外声明的 x 不同:
var x = 10;
// Here x is 10
{
const x = 2;
// Here x is 2
}
// Here x is 10