在javascript中,如果我们希望将某个函数用作构造函数,那么,在这个函数中最好不要用任何return语句。系统将自动返回this,作为产生的新对象。
这一习惯在coffeescript中可能产生问题。
在coffeescript中,如果希望将某个函数用作构造函数,也就是说,希望用new MyClass(...)的方式产生对象,记得最后一条语句应该是return this. 否则,因为coffescript总是会返回最后一条语句的值,那么你得到的可能不是你希望的MyClass的实例。
当然,因为coffeescript提供了class关键字直接定义类,你在用class语句定义类的时候,在其中的constructor中就不需要使用return语句了。