我认为这可能是内置的,但似乎并非如此。从属性哈希中填充新类实例的最佳方法是什么?
答案 0 :(得分:6)
确实是内置的。你可以在哈希中放置变量前面的@符号:
class Cat
constructor: ({@name, @age}) ->
myCat = new Cat {name:'kitty', age:3}
这是“解构分配”的一部分,您可以在the coffescript website上阅读。它甚至适用于嵌套对象,数组甚至splats。
答案 1 :(得分:1)
你可以这样做:
class Foo
constructor: (params = {}) ->
for key, value of params
this[key] = value
f = new Foo(var1: "foo", var2: "bar")
console.log(f)