2
我想弄清楚繼承如何在coffeescript中工作。這裏是我的代碼一個簡單的例子:CoffeeScript類繼承
class Parent
constructor: (attrs) ->
for own name,value of attrs
this[name] = value
Parent.from_json_array = (json, callback) ->
for item in JSON.parse(json)
obj = new ChildA item # [1]
callback obj
class ChildA extends Parent
class ChildB extends Parent
ChildA.from_json_array("[{foo: 1}, {foo: 2}]") (obj) ->
console.log obj.foo
什麼我需要把上線標誌着[1]
在這裏使用正確的子類?這可以工作,但只能創建一個原型爲ChildA
的對象。我已經試過類似:
Parent.from_json_array = (json, callback) ->
klass = this.prototype
for item in JSON.parse(json)
obj = klass.constructor item # [1]
callback obj
...但是這留下obj
爲未定義在我的回調函數(類型錯誤:無法讀取的未定義的屬性「富」」
請告訴我魔法咒語中的CoffeeScript ?要能夠創建一個類,其中類是可變的新對象