javascriptvariablesscopeswitch-statementjavascript-scope

Access variables declared inside JavaScript switch statement from outside


Why does

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

console.log(text)

return error: Uncaught ReferenceError: text is not defined ?

I don't understand why the variable text returns undefinded.


Solution

  • Because it is not in the same scope. Something like this should work:

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