回答編集履歴
1
関数宣言のコード修正
answer
CHANGED
@@ -2,14 +2,24 @@
|
|
2
2
|
使い分けの基準は特にないので性質を知った上で使い分けて下さい。
|
3
3
|
|
4
4
|
```JavaScript
|
5
|
-
hoge();
|
6
|
-
|
5
|
+
hoge(); // function hoge () {}
|
6
|
+
var hoge2 = hoge;
|
7
|
+
hoge = null;
|
8
|
+
hoge2(); // null
|
7
9
|
|
10
|
+
foo(); // TypeError: foo is not a function
|
11
|
+
|
8
12
|
var foo = function piyo () { // 変数宣言時に実体化される
|
9
|
-
console.log(piyo); // 関数式の名前は不変であり、後から改変
|
13
|
+
console.log(piyo); // 名前付き関数式の関数名による名前空間は不変であり、後から改変されるリスクはない
|
10
14
|
};
|
11
15
|
|
12
|
-
function hoge () {
|
16
|
+
function hoge () { // 関数orグローバルコードの先頭で実体化される
|
17
|
+
console.log(hoge);
|
18
|
+
}
|
13
19
|
```
|
14
20
|
|
21
|
+
名前付き関数式は `Function#name` にも影響します。
|
22
|
+
|
23
|
+
- [Function.name - JavaScript | MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name)
|
24
|
+
|
15
25
|
Re: hidegital さん
|