2017-12-14 3 views
0

Wenn in einer Komponentendatei reagiere ich eine Schnittstelle für den Staat zu definieren:Syntaxerror: unbekannt: Interface ist ein reserviertes Wort im strikten Modus

interface IState = { 
} 

und versuchen, es zu kompilieren mit babel.transform ich den Fehler:

SyntaxError: unknown: interface is a reserved word in strict mode 

Ist das erwartete Verhalten? Wie kann ich das kompilieren lassen?

Ich verwende:

"babel-cli": "^7.0.0-beta.3", 
"babel-preset-es2015": "^7.0.0-beta.3", 
"babel-preset-typescript": "^7.0.0-beta.3", 

auf Mac OSX 10.11.6.

+0

vor allem sollte es 'Schnittstelle IState {}', entfernen Sie Ihre '='. –

+0

Ah yeh, das ist ein Tippfehler in der Frage. Ich bekomme immer noch den gleichen Fehler ohne die Gleichen. – user309043

+0

können Sie bitte weitere Informationen darüber geben, wie Sie es kompilieren. –

Antwort

0

Grundsätzlich was Ihre Fehlermeldung sagt, dass die interface ist ein spezielles Schlüsselwort in JavaScript genau wie class.
Also, weder Sie können einen Datentyp mit dem Namen interface noch können Sie einen Wert zuweisen (was Sie tun, indem Sie = verwenden). Daraus ergibt sich die interface zu so etwas wie dies ändern:

interface IState{ 
     function test1(testParams); 
     function test2(testParams); 
    } 
+0

Ah yeh, das ist ein Tippfehler in der Frage. Ich bekomme immer noch den gleichen Fehler ohne die Gleichen. – user309043

+0

Poste deinen Code/füge weitere Details hinzu und füge auch die Fehler hinzu, die du bekommst. – BlackBeard

Verwandte Themen