【问题标题】:Why CoffeeScript wraps class compiled code [duplicate]为什么 CoffeeScript 包装类编译代码 [重复]
【发布时间】:2013-04-21 01:19:27
【问题描述】:

CoffeScript 编译这个:

class A
  a: 'value'

到:

var A;

A = (function() {
  function A() {}

  A.prototype.a = 'value';

  return A;

})();

这有什么区别:

var A = function A(){};
A.prototype.a = 'value';

我在控制台中测试了代码,第一个返回function A(),而第二个返回"value",但作为一个打算实例化的类,使用class AmyA = new A()适用于这两种情况。

【问题讨论】:

标签: javascript coffeescript


【解决方案1】:

没有有效的区别,但由于 CoffeeScript 是一个代码生成器,它可能在不同情况下对变量范围有其他用途,并且根本没有优化以减少实际上不需要额外的简单情况的代码范围。

我不使用 CoffeeScript,但这是我的猜测。

【讨论】:

    猜你喜欢
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 2011-12-31
    • 2017-01-11
    相关资源
    最近更新 更多