À l'aide de la CoffeeScript code que la vidéo réclamations est une conversion correcte...
class Money
constructor: (rawString) ->
@cents = @parseCents rawString
...CoffeeScript va générer le suivant, qui est essentiellement identique à @T. J. Crowder réponse:
var Money;
Money = (function() {
function Money(rawString) {
this.cents = this.parseCents(rawString);
}
return Money;
})();
Je suis en train de poster ce pour montrer ce que CoffeeScript en fait , et que la vidéo ne représente pas la réalité.
Vous pouvez voir la conversion si vous visitez le site et cliquez sur "Essayez CoffeeScript" bouton.
S'il vous plaît ne pas "accepter" cette réponse.
EDIT:
Pour ajouter un peu de privés d'utilisation variables qui utilise le champ d'application, vous pouvez faire ceci:
class Money
priv=0
constructor: (rawString) ->
@cents = @parseCents rawString
@id = priv++
...qui se traduit par:
var Money;
Money = (function() {
var priv;
priv = 0;
function Money(rawString) {
this.cents = this.parseCents(rawString);
this.id = priv++;
}
return Money;
})();
En passant, je ne sais rien à propos de CoffeeScript. Sa syntaxe ressemble confus pour moi, mais peut-être juste parce que je ne suis pas habitué à ça.
J'aime le JavaScript de la façon dont il est (surtout avec le nouveau et encore à venir des changements).