假设我在 CoffeeScript 中有这个类:
class Human
constructor: ( options ) ->
if options
for property of options
opts[ property ] = options[ property ]
printName: ->
console.log 'My name is ' + opts.name
opts =
name: 'foo'
如果我要在对象的多个实例中打印出 name 属性,我总是会得到相同的值:
a = new Human({name: 'bob'})
b = new Human({name: 'john'})
// a.printName() -> john
// b.printName() -> john
但我想单独保存每个实例的值,如下所示:
// a.printName() -> bob
// b.printName() -> john
现在我知道我必须使用this.name
,但是我将如何使用一种方法来遍历一长串值并将它们分配给对象实例来实现呢?我不想像这样污染构造函数
constructor: ( @name, @surname, @age, ... )