从外部访问 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

https://www.w3schools.com/js/js_const.asp

因为不在同一个范围内。这样的事情应该有效:

let text
switch ("string") {
  case "string":
    text = "Hello World!"
    break
}

console.log(text)