旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

[CoffeeScript] class内で自クラスを取得

2013年7月20日

@constructor が自分のクラスになる。
例えばこんな風

test.coffee:

class Foo
  @myName = 'Foo'

  getMyName: ->
    @constructor.myName

class Bar extends Foo
  @myName = 'Bar'

console.log (new Foo).getMyName()
console.log (new Bar).getMyName()

$ coffee test.coffee
Foo
Bar

生 JavaScript の constructor は、
プロトタイプ継承した場合に参照先が親に変わってしまいますが、
CoffeeScript の場合は、常に自分のクラスを返してくれます。