0

これが IDE 関連なのか、純粋にトランスパイル プロセスに関するものなのかはわかりません。私は Mac で Webstorm を使用しており、node、npm、coffeescript がインストールされています。IDE はそれを使用して、javascript への変換を行います。

//Coffeescript code, simple variable declaration
myamount = 56

//Traspiled javascript generated by CoffeeScript 1.6.3
(function() {
  var myamount;
  myamount = 5;
}).call(this);

変数を匿名関数に入れる理由の手がかりはありますか? これは正しいトランスパイルではありません。

4

1 に答える 1

0

これは、グローバル名前空間を汚染するのを防ぐためです。

ドキュメントで説明されているように-レキシカルスコープと変数の安全性

すべての CoffeeScript 出力は無名関数でラップされます: (function(){ ... })(); このセーフティ ラッパーは、var キーワードの自動生成と組み合わせることで、グローバル名前空間を誤って汚染することを非常に困難にします。

于 2013-09-14T10:30:26.770 に答える