タイトルにあるように、CoffeeScript からクラスをコンパイルするときに JavaScript でブラケット表記を強制する方法はありますか?
簡単な例は次のとおりです。
コーヒースクリプト
class test
myMethod: () ->
1
ブラケット表記なしでコンパイルされた JavaScript
var test;
test = (function() {
function test() {}
test.prototype.myMethod = function() {
return 1;
};
return test;
})();
ブラケット表記でコンパイルされた JavaScript
var test;
test = (function() {
function test() {}
test.prototype['myMethod'] = function() {
return 1;
};
return test;
})();
2 番目の出力では、myMethod()
ブラケット表記を使用してメソッドが割り当てられていることに注意してください。
これが必要なのは、Google Closure Compiler を介して出力を実行し、メソッドの名前を保持できるようにするためです。これにはブラケット表記が必要です。そうしないと、名前も縮小されます。