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の表現式の長所」をみましょう!