从哈希初始化CoffeeScript类实例

时间:2012-04-20 22:36:50

标签: oop coffeescript

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

2 个答案:

答案 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)