我用一种方法及其别名创建了一个咖啡脚本类:
class Class1
method1 : (param1)=>
console.log param1
aliasForMethod1: @method1
module.exports = Class1
它输出javascript:
// Generated by CoffeeScript 1.6.2
(function() {
var Class1,
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
Class1 = (function() {
function Class1() {
this.method1 = __bind(this.method1, this);
}
Class1.prototype.method1 = function(param1) {
return console.log(param1);
};
Class1.prototype.aliasForMethod1 = Class1.method1;
return Class1;
})();
module.exports = Class1;
}).call(this);
尝试使用这个类:
Class1 = require './class1'
instanceOfClass1 = new Class1()
instanceOfClass1.method1()
instanceOfClass1.aliasForMethod1()
但出现错误:
$ node /pathToMyClassUser/class1_user.js
undefined
/pathToMyClassUser/class1_user.js:11
instanceOfClass1.aliasForMethod1();
^
TypeError: Property 'aliasForMethod1' of object #<Class1> is not a function
那么如何在 coffeeScript 类中为方法使用别名呢?