subtitle

RaiseTechの各種コースをはじめとしたイロイロな学習の記録

JavaScriptの基本文法②

JavaScriptの基本文法①は、主に変数についてまとめた。

今回は、JavaScriptの基本文法②として、主に関数についてまとめる。



関数

関数宣言そのものについては、それほどC言語と大きな違いはないかも。

こんな感じ。(ネコをカウントする関数。たくさん数えたいw)


関数式

JavaScriptでは、関数式を作ることができて、その場合は関数名がなくてもいいらしい。

(なくてもいいというだけで、関数名があっても問題ない。)


う~ん・・・これ関数名がないっていうか・・・表現ビミョー。

関数のほうは、関数を直接呼び出しているけど、関数式のほうは、関数を示す場所を指定して、そこにある関数を実行しているっていう感じなのかな。

関数のポインタ渡しみたいなもんかなぁ。(モヤる)


スコープ

関数内部で宣言される変数は、その関数の中でのみ使用可能で、外部からアクセスはできない。

ローカル変数とグローバル変数がわかりやすいネーミングルールなどを決めたほうがわかりやすそう。

あとは、基本的には変数の宣言は関数の先頭ですべき。

関数の中に関数があるような場合に、同じ名前の変数や引数があるときは、内側のスコープが優先されるらしい。

あまり平易な名前を使うと、後で後悔しそうだ。



アロー関数

これはC言語にはない。

アロー関数を使うときの前提は、関数式。


上2つがfunctionで関数を定義、下2つがアロー関数で定義したもの。

どっちが見やすいかといわれると、私は断然function派であるw(が、世の中の流れがアロー関数ならば、それに迎合せねばなるまい・・・)


演算子と制御文

ここら辺は、C言語とほとんど同じなので、割愛。

唯一、比較演算子「===」「!==」はC言語にはないが、厳しめのこっちを使うということで納得済みのため、これも割愛。



テンプレート文字列

文字列の中で変数を展開したい時に便利。

`` で囲んだ部分の中で ${} がJavaScriptとして認識されるので、計算も可能。


引数の変数もテンプレート文字列に組み込むことができる。