几年来,我一直在前端使用咖啡脚本。并且熟悉看起来像这样的类语法:
class MyClass
methodOne : ->
console.log "methodOne Called"
methodTwo : (arg, arrg) ->
console.log "methodTwo Called"
最近我一直在使用 node 和frappe样板,用于使用 coffeescript 和 node 的 web 应用程序。
此脚本使用 CoffeeScript 类来处理具有以下语法的路由:
class MyClass
@methodOne = ->
console.log "methodOne Called"
@methodTwo = (arg, arrg) ->
console.log "methodTwo Called"
我可以从我的正常用法中注意到的唯一用法差异是 Routes.coffee 文件直接使用该类而不是创建一个new
对象。所以:
MyClass.methodOne()
# vs
new MyClass().methodOne()
现在我了解到该@methodOne
语法没有使用.prototype
,而其他语法使用。但是为什么这会使使用失败呢?