我看到了一个类a,在它的类定义之后
class A
constructor: (@x=0, @y=0) ->
@A = A
这里的@A=A是什么?
它有助于查看生成的输出。
// Generated by CoffeeScript 1.9.3
(function() {
var A;
A = (function() {
function A(x, y) {
this.x = x != null ? x : 0;
this.y = y != null ? y : 0;
}
return A;
})();
this.A = A;
}).call(this);
所以@A
转化为this.A
。当在顶层使用this
时,它指的是window
。因此@A = A
将A类导出到窗口对象上。
这通常用于导出库。例如,window.$ = jQuery
或window._ = lodash
。