2

我认为这可能是内置的,但似乎不是。从属性哈希填充新类实例的最佳方法是什么?

4

2 回答 2

6

它确实是内置的。您可以将 @ 符号放在哈希内变量的前面:

class Cat
  constructor: ({@name, @age}) ->


myCat = new Cat {name:'kitty', age:3}

这是“解构分配”的一部分,您可以在 coffescript 网站上阅读。它甚至适用于嵌套对象、数组甚至 splats。

于 2012-04-20T23:44:46.833 回答
1

你可以这样做:

class Foo
  constructor: (params = {}) ->
    for key, value of params
      this[key] = value

f = new Foo(var1: "foo", var2: "bar")
console.log(f)
于 2012-04-20T23:41:35.743 回答