Javascript-Bereich variable switch case?

In C Sie können den Gültigkeitsbereich einer Variablen zu einem switch case, wie diese.

Mit javascript bekomme ich unexpected token mit den folgenden:

JS:

const i = 1

switch (i) {
    //variables scoped to switch
    var s
    var x = 2342
    case 0:
      s = 1 + x
      break
    case 1:
      s = 'b'
      break
}

Gibt es eine andere Möglichkeit, dies zu tun oder soll ich einfach erklären, meine Variablen außerhalb der switch?

EDIT:

Dies ist ein workaround als ich, aber es hat nicht bis Ende arbeiten. Der Grund dafür ist, dass jeder Fall hat seinen eigenen Bereich.

JS:

const i = 1

switch (i) {
    case i:
      //variables scoped to switch
      var s
      var x = 2342
    case 0:
      s = 1 + x
      break
    case 1:
      s = 'b'
      break
}

  • Ihre switch - Anweisung ist ungültig JS zumindest. Sie können bei der Definition von Variablen innerhalb des Fällen oder außerhalb wechseln.
  • Da klar auf den Sie zugreifen möchten s nach, außerhalb der switch, warum sind Sie versuchen zu Umfang es innerhalb der switch Aussage...?!
  • dies ist nur ein Beispiel es gibt viele Gründe, warum jemand wollen würde, dies zu tun.
  • Siehe meine aktualisierte Antwort für einen workaround, der dir das gibt was du suchst.
  • vielleicht gibt es nicht viele Gründe, dies zu tun. Ich war eigentlich nur versuchen, machen someones code übergeben jslint (var deklarierte mehrfach, einmal für jeden Fall), ohne deren Geltungsbereich zu ändern. Rückblickend ist es wahrscheinlich besser, einfach den Bereich ändern oder ignorieren, anstatt dass der code schwerer zu verstehen.
Schreibe einen Kommentar