我在CoffeeScript上创建了一个类,我想覆盖toString()
函数;这是我的代码:
class MenuController
constructor: () ->
'constructor'
toString: () ->
'MenuController'
console.log MenuController.toString()
但是toString()
会返回:
function MenuController() {
'constructor';
}
而不是MenuController
。我做错了什么?
答案 0 :(得分:1)
您将toString
定义为类方法。所以,你可以把它称为:
menuController = new MenuController()
menuController.toString()
如果静态方法确实是您想要的,那么您应该使用以下语法:
class MenuController
@toString: ->
'MenuController'
然后,您可以将其称为:
MenuController.toString()
但是,它将不再是类方法,所以
(new MenuController()).toString()
不会调用您的toString
方法。