-1

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()适用于这两种情况。

4

1 回答 1

0

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

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

于 2013-04-21T01:26:20.760 回答