Ich versuche herauszufinden, wie Vererbung in Coffeescript funktioniert. Hier ist ein vereinfachtes Beispiel für meinen Code:CoffeeScript Klasse Vererbung
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
Was muß ich auf der Linie [1]
die richtige Kind-Klasse verwenden markierte hier setzen? Dies funktioniert, aber erstellt nur Objekte mit einem Prototyp ChildA
. Ich habe versucht, so etwas wie:
Parent.from_json_array = (json, callback) ->
klass = this.prototype
for item in JSON.parse(json)
obj = klass.constructor item # [1]
callback obj
... aber das läßt obj
als undefiniert in meiner Callback-Funktion (Typeerror:. Kann nicht Eigentum ‚foo‘ undefinierten lesen“
Was ist der Zauberspruch in Coffeescript ? in der Lage sein, ein neues Objekt einer Klasse zu erstellen, in dem die Klassenvariable ist