Coffeescript-functions
CoffeeScript-関数
関数は、プログラム内のどこからでも呼び出すことができる再利用可能なコードのブロックです。 これにより、同じコードを何度も記述する必要がなくなります。 プログラマーがモジュラーコードを書くのに役立ちます。
関数を使用すると、プログラマは大きなプログラムをいくつかの小さく管理可能な関数に分割できます。
一般に、JavaScriptを使用して、2つのタイプの関数を定義できます-名前付き関数、関数名本体を持つ通常の関数、および*関数式*。 関数式を使用して、変数に関数を割り当てることができます。
CoffeeScriptの関数
CoffeeScriptの関数の構文は、JavaScriptに比べて簡単です。 CoffeeScriptでは、関数式のみを定義します。
CoffeeScriptでは function キーワードが削除されています。 ここで関数を定義するには、細い矢印(*→ *)を使用する必要があります。
背後では、CoffeeScriptコンパイラーが矢印をJavaScriptの関数定義に変換します(以下を参照)。
CoffeeScriptで return キーワードを使用することは必須ではありません。 CoffeeScriptのすべての関数は、関数の最後のステートメントを自動的に返します。
- 関数の最後に到達する前に呼び出し元の関数に戻るか、値を返したい場合は、 return キーワードを使用できます。
- インライン関数(1行にある関数)に加えて、CoffeeScriptで複数行の関数を定義することもできます。 中括弧は削除されるため、適切なインデントを維持することで実行できます。
関数を定義する
以下は、CoffeeScriptで関数を定義する構文です。
例
以下に、CoffeeScriptの関数の例を示します。 ここでは、 greet という名前の関数を作成しました。 この関数は、その中のステートメントを自動的に返します。 function_example.coffee という名前のファイルに保存します
コマンドプロンプトで次のコマンドを実行してコンパイルします。
コンパイル時に、次のJavaScriptコードが生成されます。 ここで、CoffeeScriptコンパイラが* greet()*という名前の関数で文字列値を自動的に返したことを確認できます。
複数行関数
また、中括弧の代わりにインデントを維持することにより、複数行の関数を定義できます。 ただし、関数全体の行に続くインデントと一致する必要があります。
コンパイル時に、上記のCoffeeScriptは次のJavaScriptコードを提供します。 CoffeeScriptコンパイラーは、インデントを使用して分離し、中括弧内に配置した関数の本体を取得します。
引数を持つ関数
以下に示すように、かっこを使用して関数に引数を指定することもできます。
上記のCoffeeScriptファイルをコンパイルすると、次のJavaScriptが生成されます。
関数の呼び出し
関数を定義した後、その関数を呼び出す必要があります。 次の例に示すように、名前の後に括弧を配置するだけで、関数を呼び出すことができます。
コンパイル時に、上記の例は次のJavaScriptを提供します
上記のCoffeeScriptコードを実行すると、次の出力が生成されます。
引数付きの関数の呼び出し
同様に、以下に示すように、引数を渡して関数を呼び出すことができます。
注意-引数を渡して関数を呼び出すとき、括弧の使用はオプションです。
次の例では、2つのパラメーターを受け入れる* add()*という名前の関数を作成し、呼び出しました。
コンパイル時に、上記の例は次のJavaScriptを提供します。
上記のCoffeeScriptコードを実行すると、次の出力が生成されます。
デフォルトの引数
CoffeeScriptはデフォルト引数もサポートしています。 次の例に示すように、関数の引数にデフォルト値を割り当てることができます。
コンパイル時に、上記のCoffeeScriptは次のJavaScriptファイルを生成します。
上記のCoffeeScriptコードを実行すると、次の出力が生成されます。