CoffeeScript-変数
変数は名前付きコンテナに他なりません。これらのコンテナーにデータを配置してから、コンテナーの名前を使用してデータを参照できます。
CoffeeScript変数
JavaScriptでは、変数を使用する前に、変数を宣言して初期化する(値を割り当てる)必要があります。JavaScriptとは異なり、CoffeeScriptで変数を作成する際に、を使用して変数を宣言する必要はありません。varキーワード。以下に示すように、リテラルに値を割り当てるだけで変数を作成するだけです。
name = variable name
例
次のCoffeeScriptコードでは、2つの変数を定義しています。 name そして age、それぞれ文字列と数値のデータ型。名前を付けてファイルに保存しますvariable_example.coffee。
name = "Javed"
age = 25
Compiling the code
コマンドプロンプトで次のコマンドを実行して、上記のCoffeeScriptコードをコンパイルします。
c:\> compile -c variable_example.coffee
コンパイル時に、 variable_example.js以下の内容で生成されます。ここでは、コンパイラが変数(年齢と名前)を宣言したことを確認できます。var 私たちに代わってキーワード。
// Generated by CoffeeScript 1.10.0
(function() {
var age, name;
name = "Javed";
age = 25;
}).call(this);
可変スコープ
変数のスコープは、変数が定義されているプログラムの領域です。JavaScript変数とCoffeeScript変数には2つのスコープしかありません。
Global Variables −グローバル変数にはグローバルスコープがあります。これは、JavaScriptコードのどこでも使用できることを意味します。
Local Variables−ローカル変数は、それが定義されている関数内でのみ表示されます。関数パラメーターは常にその関数に対してローカルです。
JavaScriptの変数に関する問題
JavaScriptでは、を使用せずに変数を定義するときはいつでも varキーワード、それはグローバルスコープで作成されます。これは多くの問題を引き起こします。次の例を考えてみましょう-
<script type = "text/javascript">
var i = 10;
document.write("The value of global variable i is "+ i);
document.write("<br>");
test();
function test() {
i = 20;
document.write("The value of local variable i is "+i);
document.write("<br>");
}
document.write("The value of global variable i is "+i);
</script>
実行すると、上記のJavaScriptは次の出力を提供します-
The value of global variable i is 10
The value of local variable i is 20
The value of global variable i is 20
上記の例では、という名前の変数を作成しました iグローバル空間で値10を割り当てました。そして、関数内で、同じ名前のローカル変数を作成しようとすると、i = 20として宣言しました。varキーワードなし。私たちが逃したのでvar キーワード、グローバル変数の値 i 20に再割り当てされます。
このため、を使用して変数を宣言することをお勧めします。 var キーワード。
CoffeeScriptの可変スコープ
CoffeeScriptファイルをコンパイルするたびに、CoffeeScriptコンパイラは無名関数を作成し、その関数内で、CoffeeScriptコードをJavaScriptに1行ずつトランスコンパイルします。(必要に応じて、を使用して最上位の関数ラッパーを削除できます-b または --bare コンパイルコマンドのオプション)作成するすべての変数は、 var 匿名関数内のキーワード、したがって、デフォルトでは、すべての変数はCoffeeScriptでローカルです。
(function() {
var age, name;
name = "javed";
age = 20;
}).call(this);
とにかく、必要に応じて、グローバル名前空間で変数を宣言できます。以下に示すように、明示的に行うことができます。
obj = this
obj.age = 30
CoffeeScript変数名(リテラル)
CoffeeScriptで変数に名前を付けるときは、次のルールに注意してください。
CoffeeScriptの予約済みキーワードを変数名として使用しないでください。これらのキーワードについては、次のセクションで説明します。たとえば、breakまたはブール変数名は無効です。
CoffeeScriptの変数名は、数字(0〜9)で始めることはできません。文字または下線文字で始める必要があります。たとえば、123testは無効な変数名ですが、_123testは有効な変数名です。
CoffeeScript変数名では、大文字と小文字が区別されます。例えば、Name そして name 2つの異なる変数です。