関数 |
関数って何? 他のプログラミング言語と似てる書き方 変数定義のような書き方 アロー関数 即時関数 |
関数って何? 関数とは数学でならった三角関数、指数関数などのイメージが湧くと思います。 数学的な計算以外で画像を表示したり音声を鳴らしたりする処理も関数です。 わかりやすい言葉でいえば、プログラムを構成するする処理の単位です。 卒業式というプログラムで校長挨拶などが関数です。 JavaScriptではいろいろな関数の記述があるので覚えるのが大変です。 これらをやさしく書いてみます。 |
他のプログラミング言語と似てる書き方 一番素直な記述方法です。
具体的には、
こんな感じで簡潔です。関数であることを宣言するためにfunctionをつけます。 次に関数の名前add2を記述します。 次に()内に引数を記述します。引数がなければ空白にします。 最後に{}に処理を記述します。 C言語のような型宣言は不要です。 |
変数定義のような書き方 いよいよJavaScript特有のわかりにくい関数の書き方です。 JavaScriptは数値も変数も関数もすべてオブジェクトにしています。 変数の定義に倣って書くと、
という感じになりますが、右辺はどうなるでしょうか?functionをつかって定義します。 具体的には、
なんか少し違和感がありますね。 |
アロー関数 更にJavaScript特有のわかりにくい関数の書き方です。 変数定義のような書き方をさらいアップグレードした記述方法です。 functionと()の順番を入れ替えたような記述です。 すごく違和感がありますね。 これ以上にグレードアップした記述も紹介します。
結果は:
|
即時関数 更にJavaScript特有の他の言語にはない変わり種の関数です。 即時関数とは、関数を定義したと同時に実行までしてしまう関数です。 書き方:
関数に名前がないので呼び出せません。つまりこの関数は即実行しか生きる道がありません。変な関数この上ないですが、こう考えるとわかりやすいです。 普通の関数定義の両端に()をつけて即時関数(名無し)になりそのあとに引数を入れる()つけます。 イメージ的には 名無しの関数(); となります。 アロー関数でも記述できます。
()の数がたくさんあって見ずらいですね。
|