私はcoffeescriptの可変スコープを理解しようとしていて、少し混乱しました。例を次に示します。
CoffeeScriptコード:
x = "localscope"
z = () ->
x = "functionscope"
console.log(x)
console.log(x)
Javascriptのコンパイル結果:
(function() {
var x, z;
x = "localscope";
z = function() {
x = "functionscope";
return console.log(x);
};
console.log(x);
}).call(this);
私が純粋なJavaScriptで知っているように、関数でラップされたすべての変数は同じスコープで動作します。それで、私が理解したように、coffescriptで書かれたすべての変数はグローバルですか?