CoffeeScript fornece uma notação abreviada natural para a criação de métodos e propriedades “estáticos” em uma classe:
class Widget
@count: 0
@addWidget: -> @count++
constructor: ->
Widget.addWidget()
w = new Widget
w2 = new Widget
w3 = new Widget
console.log Widget.count # "3"
Da documentação do CoffeeScript :
Como, no contexto de uma definição de classe,
this
é o próprio objeto de classe (a função do construtor), você pode atribuir propriedades estáticas usando@property: value
e chamar funções definidas nas classes pai:@attr 'title', type: 'text'