-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()、2 番目は が返さ"value"れましたが、クラスはインスタンス化されることを意図しているため、 を使用して、両方のケースclass Aで機能します。myA = new A()

4

1 に答える 1

0

効果的な違いはありませんが、CoffeeScript はコード ジェネレーターであるため、さまざまな状況で変数スコープを使用する可能性が高く、追加のスコープを実際に必要としない単純な状況でコードを削減するように最適化されていません。

私は CoffeeScript を使用していませんが、それは私の推測です。

于 2013-04-21T01:26:20.760 に答える