2017-06-01 4 views

Antwort

2

Der Autor dieses Beitrags hat eindeutig einen Fehler gemacht - es passiert uns allen.

Also, die const Erklärungen sind block scoped, wie die docs sagen:

Konstanten sind Block-scoped, ähnlich wie Variablen mit der let-Anweisung definiert. Der Wert einer Konstanten kann sich durch Neuzuweisung nicht ändern und kann nicht neu deklariert werden.

Deshalb sollten Sie kann nicht Zugriff es außerhalb des Try-catch-Block.

das Problem zu lösen:

  • Entweder var statt const verwenden:

    try { 
        // When declared via `var`, the variable will 
        // be declared outside of the block 
        var foo = "bar" 
    } catch (e) { 
        console.log(e) 
    } 
    
    try { 
        console.log(foo) 
    } catch (e) { 
        console.log(e) 
    } 
    
  • Oder Sie können außerhalb des try-catch, mit let die Variable deklarieren:

    // Maybe it's clearer to declare it with let and 
    // assign the value in the first try-catch 
    let foo; 
    try { 
        foo = "bar" 
    } catch (e) { 
        console.log(e) 
    } 
    
    try { 
        console.log(foo) 
    } catch (e) { 
        console.log(e) 
    } 
    
+0

Wie Sie in der Post sehen können, verwenden Sie den Autor 'const', wie funktioniert das? –

+0

@PhillipYS Ich würde sagen, es ist ein Fehler. –

+0

@PhillipYS Ich habe es gerade versucht, ja, es ist ein Fehler, den der Autor gemacht hat. Schöner Fang! –