Coffeescript 如何从Factory函数返回所有属性

Coffeescript 如何从Factory函数返回所有属性,coffeescript,Coffeescript,考虑到下面的构造函数,CoffeeScript的编译方式是只返回最后的两个函数 如何返回每个属性,以便直接访问使用此工厂创建的对象的属性 createPerson = (firstName, lastName, age) -> firstName = firstName lastName = lastName age = age sayHi: -> console.log "Hi there" sayAge: -> console.log

考虑到下面的构造函数,CoffeeScript的编译方式是只返回最后的两个函数

如何返回每个属性,以便直接访问使用此工厂创建的对象的属性

createPerson = (firstName, lastName, age) ->
  firstName = firstName
  lastName = lastName
  age = age

  sayHi: ->
    console.log "Hi there"

  sayAge: ->
    console.log "My age is #{age}"
使用CoffeeScript的类系统很容易实现这一点,但在本例中,我尝试了一种更简单的方法,但令人惊讶的是,没有找到实现这一点的方法


谢谢。

通常您只需在CoffeeScript中使用
类,而不是自己尝试:

class Person
  constructor: (@firstName, @lastName, @age) ->
  sayHi: ->
    console.log "Hi there"
  sayAge: ->
    console.log "My age is #{@age}"
然后使用
新人创建新人

p = new Person('Pancakes', 'McGee', 42)

注意构造函数函数定义和内部
sayAge

中的
@
实例变量检查:我知道CoffeeScript提供的类功能,尽管我正在探索javascript中可用的基本方法,以便进一步了解两者。我希望这是有道理的。也许你可以澄清一下你想要回报什么。很有可能你会用与JavaScript完全相同的方法来做。