Ich bin ein seltsames Problem mit, wenn eine Methode namens get
oder set
innerhalb einer Klasse definieren Zum Beispiel habe ich die Klasse Mem bin definieren wie folgt:.Javascript Syntaxerror: unerwartetes Token ‚(‘
class Mem {
constructor() {
this.list=[]
}
get(index) {
return this.list[index];
}
set(index, value) {
this.list[index] = value;
}
}
Aber ich erhalte ein SyntaxError: Unexpected token '('
Allerdings, wenn ich den Namen der Methode zu geta
oder seta
, der Klassendefinition Arbeiten ändern, und ich habe nicht die Syntax.
class Mem {
constructor() {
this.list=[]
}
geta(index) {
return this.list[index];
}
seta(index, value) {
this.list[index] = value;
}
}
Ich habe überprüft, dass get
und set
keine Schlüsselwörter in Javascript eingeschränkt sind, so dass ich verwirrt bin, was ich falsch mache.
Klingt wie ein Fehler mit welcher Umgebung Sie es auch ausführen. Das Kopieren und Einfügen Ihres Codes in Chrome funktioniert einwandfrei. –
Nur überprüft und es funktioniert in Chrome. Es scheint, dass dieser Fehler nur bei Safari auftritt. – dqiu
Sie eilen mit ES6-Technologien ('class') auf Browsern, die es immer noch nicht * vollständig * unterstützen. Bitte beziehen Sie sich immer auf die Kompatibilitätstabelle. –