Coffeescript-variables

提供:Dev Guides
移動先:案内検索

CoffeeScript-変数

変数は名前付きコンテナに他なりません。 これらのコンテナにデータを配置し、コンテナの名前を使用してデータを参照できます。

CoffeeScript変数

JavaScriptでは、変数を使用する前に、変数を宣言して初期化する(値を割り当てる)必要があります。 JavaScriptとは異なり、CoffeeScriptで変数を作成するときに、 var キーワードを使用して変数を宣言する必要はありません。 以下に示すように、リテラルに値を割り当てるだけで変数を作成します。

name = variable name

次のCoffeeScriptコードでは、文字列と数値データ型の2つの変数 nameage をそれぞれ定義しています。 variable_example.coffee という名前のファイルに保存します。

name = "Javed"
age = 25

コードのコンパイル

コマンドプロンプトで次のコマンドを実行して、上記のCoffeeScriptコードをコンパイルします。

c:\> compile -c variable_example.coffee

コンパイル時に、 variable_example.js という名前のJavaScriptファイルが生成され、次のコンテンツが含まれます。 ここで、コンパイラーが私たちに代わって var キーワードを使用して変数(年齢と名前)を宣言したことを確認できます。

//Generated by CoffeeScript 1.10.0
(function() {
  var age, name;
  name = "Javed";
  age = 25;

}).call(this);

可変スコープ

変数の範囲は、それが定義されているプログラムの領域です。 JavaScript変数とCoffeeScript変数のスコープは2つだけです。

  • グローバル変数-グローバル変数にはグローバルスコープがあり、JavaScriptコードのどこでも使用できます。
  • ローカル変数-ローカル変数は、定義されている関数内でのみ表示されます。 関数パラメーターは、常にその関数に対してローカルです。

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コードを1行ずつJavaScriptにトランスコンパイルします。 (必要に応じて、コンパイルコマンドの -b または*-bare オプションを使用して最上位関数ラッパーを削除できます)作成するすべての変数は、匿名関数内で *var キーワードを使用して宣言されるため、 、デフォルトでは、すべての変数はCoffeeScriptでローカルです。

(function() {
  var age, name;
  name = "javed";
  age = 20;
}).call(this);

とにかく、必要に応じて、グローバル名前空間で変数を宣言できます。 以下に示すように明示的に行うことができます。

obj = this
obj.age = 30

CoffeeScript変数名(リテラル)

CoffeeScriptで変数に名前を付けるときは、次のルールに留意してください。

  • CoffeeScriptの予約キーワードを変数名として使用しないでください。 これらのキーワードについては、次のセクションで説明します。 たとえば、ブレークまたはブール変数名は無効です。
  • CoffeeScriptの変数名は数字(0-9)で始まってはなりません。 文字またはアンダースコア文字で始まる必要があります。 たとえば、123testは無効な変数名ですが、_123testは有効な変数名です。
  • CoffeeScriptの変数名では大文字と小文字が区別されます。 たとえば、 Namename は2つの異なる変数です。