1 つのメソッドとそのエイリアスを持つ coffeeScript クラスを作成しました。
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クラスのメソッドにエイリアスを使用するにはどうすればよいでしょうか?