Functionの表現と宣言(1)
2021-01-04
2021-01-04
前書き
みなさん!こんにちは!
ワンです!
今日はFunctionの表現と宣言について勉強しようと思ってます!
勉強のため、ウズウズしてますね!
内容
実は、ここで書いた「表現と宣言」は「表現式と宣言式」の意味です!Function宣言式 - Function Declarations
一般的にプログラミング言語でのFunctionの宣言と似ています!
```
function exampleFunctiopn() {
return 'Function Declarations'
}
```
Function表現式 - Function Expressions
緩やかなJavascriptの言語の特徴を活用した宣言方法です!
```
var functionExample = function () {
return 'Function Expressions'
}
```
Function宣言式と表現式の差
宣言式はホイスティングに影響を受けますが、表現式は影響を受けていません。宣言式の場合、コードを書いた場所と構わずに、Javascriptの特徴のホイスティングによって
ブラウザからJavscriptを読み込む時、一番上に引き上げられますね。
```
declarations(); // 'Function'
expressions(); // Uncaught TypeError: expressions is not a function
function declarations() {
return 'Function';
}
var expressions = function () {
return 'Function';
}
```
コメントのところが結果です。
実はexpressionsという変数にも、ホイスティングが適用されて、上にいきました。
```
function declarations() {
return 'Function';
}
var expressions;
declarations();
expressions();
```
でも、expressionsに付与されたFunctionロジックは呼び出した後に定義されるので、
Functionで認識せずに、変数で認識してます!
最後に
いかがでしょうか?これで、Functionって書き方がすごいでしょう?
では、次「Functionの表現式の長所」をみましょう!