以下作业在coffeescript片段中意味着什么



我看到了一个类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.$ = jQuerywindow._ = lodash

最新更新