Coffeescript-variables
CoffeeScript-変数
変数は名前付きコンテナに他なりません。 これらのコンテナにデータを配置し、コンテナの名前を使用してデータを参照できます。
CoffeeScript変数
JavaScriptでは、変数を使用する前に、変数を宣言して初期化する(値を割り当てる)必要があります。 JavaScriptとは異なり、CoffeeScriptで変数を作成するときに、 var キーワードを使用して変数を宣言する必要はありません。 以下に示すように、リテラルに値を割り当てるだけで変数を作成します。
例
次のCoffeeScriptコードでは、文字列と数値データ型の2つの変数 name と age をそれぞれ定義しています。 variable_example.coffee という名前のファイルに保存します。
コードのコンパイル
コマンドプロンプトで次のコマンドを実行して、上記のCoffeeScriptコードをコンパイルします。
コンパイル時に、 variable_example.js という名前のJavaScriptファイルが生成され、次のコンテンツが含まれます。 ここで、コンパイラーが私たちに代わって var キーワードを使用して変数(年齢と名前)を宣言したことを確認できます。
可変スコープ
変数の範囲は、それが定義されているプログラムの領域です。 JavaScript変数とCoffeeScript変数のスコープは2つだけです。
- グローバル変数-グローバル変数にはグローバルスコープがあり、JavaScriptコードのどこでも使用できます。
- ローカル変数-ローカル変数は、定義されている関数内でのみ表示されます。 関数パラメーターは、常にその関数に対してローカルです。
JavaScriptの変数に関する問題
JavaScriptでは、 var キーワードを使用せずに変数を定義するたびに、グローバルスコープで作成されます。 これは多くの問題を引き起こします。 次の例を考慮してください-
実行すると、上記のJavaScriptは次の出力を提供します-
上記の例では、グローバルスペースに i という変数を作成し、値10を割り当てました。 そして、関数内で、同じ名前のローカル変数を作成しようとすると、i = 20;として宣言しました。 varキーワードなし。 var キーワードが欠落しているため、グローバル変数 i の値は20に再割り当てされます。
このため、 var キーワードを使用して変数を宣言することをお勧めします。
CoffeeScriptの可変スコープ
CoffeeScriptファイルをコンパイルするたびに、CoffeeScriptコンパイラーは匿名関数を作成し、その関数内で、CoffeeScriptコードを1行ずつJavaScriptにトランスコンパイルします。 (必要に応じて、コンパイルコマンドの -b または*-bare オプションを使用して最上位関数ラッパーを削除できます)作成するすべての変数は、匿名関数内で *var キーワードを使用して宣言されるため、 、デフォルトでは、すべての変数はCoffeeScriptでローカルです。
とにかく、必要に応じて、グローバル名前空間で変数を宣言できます。 以下に示すように明示的に行うことができます。
CoffeeScript変数名(リテラル)
CoffeeScriptで変数に名前を付けるときは、次のルールに留意してください。
- CoffeeScriptの予約キーワードを変数名として使用しないでください。 これらのキーワードについては、次のセクションで説明します。 たとえば、ブレークまたはブール変数名は無効です。
- CoffeeScriptの変数名は数字(0-9)で始まってはなりません。 文字またはアンダースコア文字で始まる必要があります。 たとえば、123testは無効な変数名ですが、_123testは有効な変数名です。
- CoffeeScriptの変数名では大文字と小文字が区別されます。 たとえば、 Name と name は2つの異なる変数です。