JavaScriptの基本文法①は、主に変数についてまとめた。
今回は、JavaScriptの基本文法②として、主に関数についてまとめる。
関数
関数宣言そのものについては、それほどC言語と大きな違いはないかも。
こんな感じ。(ネコをカウントする関数。たくさん数えたいw)
関数式
JavaScriptでは、関数式を作ることができて、その場合は関数名がなくてもいいらしい。
(なくてもいいというだけで、関数名があっても問題ない。)
う~ん・・・これ関数名がないっていうか・・・表現ビミョー。
関数のほうは、関数を直接呼び出しているけど、関数式のほうは、関数を示す場所を指定して、そこにある関数を実行しているっていう感じなのかな。
関数のポインタ渡しみたいなもんかなぁ。(モヤる)
スコープ
関数内部で宣言される変数は、その関数の中でのみ使用可能で、外部からアクセスはできない。
ローカル変数とグローバル変数がわかりやすいネーミングルールなどを決めたほうがわかりやすそう。
あとは、基本的には変数の宣言は関数の先頭ですべき。
関数の中に関数があるような場合に、同じ名前の変数や引数があるときは、内側のスコープが優先されるらしい。
あまり平易な名前を使うと、後で後悔しそうだ。
アロー関数
これはC言語にはない。
アロー関数を使うときの前提は、関数式。
上2つがfunctionで関数を定義、下2つがアロー関数で定義したもの。
どっちが見やすいかといわれると、私は断然function派であるw(が、世の中の流れがアロー関数ならば、それに迎合せねばなるまい・・・)
演算子と制御文
ここら辺は、C言語とほとんど同じなので、割愛。
唯一、比較演算子「===」「!==」はC言語にはないが、厳しめのこっちを使うということで納得済みのため、これも割愛。
テンプレート文字列
文字列の中で変数を展開したい時に便利。
`` で囲んだ部分の中で ${} がJavaScriptとして認識されるので、計算も可能。
引数の変数もテンプレート文字列に組み込むことができる。