ES6 Classes: Unexpected token dans le script?
Je suis la copie d'un exemple tente d'apprendre ES6, mais j'ai une erreur de compilation:
Unexpected token (2:5)
Il semble se référant à la count = 0;
Ce que je fais mal?
class Counter {
count = 0;
constructor() {
setInterval(function() {
this.tick();
}.bind(this), 1000);
}
tick() {
this.count ++;
console.log(this.count);
}
}
- Je pense que vous devez déclarer votre variable d'abord utilisé
var
oulet
(de préférencelet
) pour laisser javascript sais que vous déclarez. Sinon, le=
est en fait pas valide car il ne peut en être affecté. - Vous pourriez mentionner le compilateur que vous utilisez.
- im en utilisant gulp/elixir
- laissez-ou var ne semble pas corriger
- Où avez-vous l'exemple de l'? Ce n'est pas ES6. Je vous recommande d'apprendre à partir d'une source qui est en fait sur ES6.
Vous devez vous connecter pour publier un commentaire.
Dans ES2015, lors de l'utilisation de la
class
la syntaxe, vous devez définir les variables d'instance dans le constructeur ou l'une des méthodes (il y a une proposition pour la prochaine itération, ES2016, pour permettre à votre syntaxe: ES Champs de la Classe & Propriétés Statiques)Découvrez le violon:
http://www.es6fiddle.net/ifjtvu5f/
C'est peut-être le compilateur question. Vérifier quelle est la version de Babel que vous utilisez.
Dans mon cas, j'ai raté le
babel-preset-stage-0
dépendance.3 ans de retard donc, vous avez probablement compris, mais j'ai mis la variable nombre dans le constructeur
il a donné plus de contrôle par l'appel de la tique fonction