回答編集履歴
20
test
CHANGED
@@ -26,7 +26,9 @@
|
|
26
26
|
function yobidashi() {
|
27
27
|
console.log('konnnitiha');
|
28
28
|
}
|
29
|
+
// 関数オブジェクトを指定
|
30
|
+
// ※「yobidashi()」のように括弧をつけると、setTimeoutの評価の前に
|
29
|
-
//
|
31
|
+
// yobidashi関数が即時実行されundefinedが返ってくるため、期待する動作にならない。
|
30
32
|
setTimeout(yobidashi, 5000);
|
31
33
|
```
|
32
34
|
|
19
test
CHANGED
@@ -9,8 +9,7 @@
|
|
9
9
|
```
|
10
10
|
この書き方だと、第一引数に指定されたconsole.log('konnnitiha')がすぐ実行され、konnnitihaが表示されます。
|
11
11
|
|
12
|
-
そして console.log('konnnitiha') の戻り値 undefined がsetTimeoutに渡され、
|
12
|
+
そして console.log('konnnitiha') の戻り値 undefined がsetTimeoutに渡されるため、5秒後に表示されるものはありません。
|
13
|
-
5秒後にundefinedが実行されるだけなので、5秒後には何も表示されません。
|
14
13
|
|
15
14
|
(1つ前の質問に対するコメントでmaisumakunさんが書かれていますが、
|
16
15
|
setTimeoutに限らず、関数の実行前に、関数に指定した引数の方から先に評価(≒それが実行可能な形式であれば実行)されます。
|
@@ -72,7 +71,7 @@
|
|
72
71
|
とすると、
|
73
72
|
Promiseオブジェクトの生成時、即時に setTimeout(() => console.log(aisatu), zikan)
|
74
73
|
が実行されます。
|
75
|
-
そしてこれはsetTimeoutの引数に 「console.log('konnnitiha')を実行する関数
|
74
|
+
そしてこれはsetTimeoutの引数に 「console.log('konnnitiha')を実行する関数)」を指定している為、期待する動作となります。
|
76
75
|
|
77
76
|
---
|
78
77
|
|
18
test
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
```
|
8
8
|
setTimeout(console.log('konnnitiha'), 5000));
|
9
9
|
```
|
10
|
-
この書き方だと、第一引数に指定されたconsole.log('konnnitiha')がすぐ実行され、o
|
10
|
+
この書き方だと、第一引数に指定されたconsole.log('konnnitiha')がすぐ実行され、konnnitihaが表示されます。
|
11
11
|
|
12
12
|
そして console.log('konnnitiha') の戻り値 undefined がsetTimeoutに渡され、
|
13
13
|
5秒後にundefinedが実行されるだけなので、5秒後には何も表示されません。
|
@@ -16,7 +16,7 @@
|
|
16
16
|
setTimeoutに限らず、関数の実行前に、関数に指定した引数の方から先に評価(≒それが実行可能な形式であれば実行)されます。
|
17
17
|
setTimeout(console.log('konnnitiha'), 5000));
|
18
18
|
と書くと、setTimeoutという関数の実行前に、まず引数に指定した 「console.log('konnnitiha')」が評価されます。
|
19
|
-
console.log('konnnitiha') が評価されると、"コンソールに「o
|
19
|
+
console.log('konnnitiha') が評価されると、"コンソールに「konnnitiha」を出力する"という処理が実行され、undefinedが返ってきます。(console.log()関数の戻り値は[undefined](https://console.spec.whatwg.org/#logger)です)
|
20
20
|
結果、 setTimeout(undefined , 5000));
|
21
21
|
として実行されるということです)
|
22
22
|
|
17
test
CHANGED
@@ -5,27 +5,27 @@
|
|
5
5
|
|
6
6
|
まずsetTimeoutのつかいかたについての話をすると
|
7
7
|
```
|
8
|
-
setTimeout(console.log(
|
8
|
+
setTimeout(console.log('konnnitiha'), 5000));
|
9
9
|
```
|
10
|
-
この書き方だと、第一引数に指定されたconsole.log(
|
10
|
+
この書き方だと、第一引数に指定されたconsole.log('konnnitiha')がすぐ実行され、okureruが表示されます。
|
11
11
|
|
12
|
-
そして console.log(
|
12
|
+
そして console.log('konnnitiha') の戻り値 undefined がsetTimeoutに渡され、
|
13
13
|
5秒後にundefinedが実行されるだけなので、5秒後には何も表示されません。
|
14
14
|
|
15
15
|
(1つ前の質問に対するコメントでmaisumakunさんが書かれていますが、
|
16
16
|
setTimeoutに限らず、関数の実行前に、関数に指定した引数の方から先に評価(≒それが実行可能な形式であれば実行)されます。
|
17
|
-
setTimeout(console.log(
|
17
|
+
setTimeout(console.log('konnnitiha'), 5000));
|
18
|
-
と書くと、setTimeoutという関数の実行前に、まず引数に指定した 「console.log(
|
18
|
+
と書くと、setTimeoutという関数の実行前に、まず引数に指定した 「console.log('konnnitiha')」が評価されます。
|
19
|
-
console.log(
|
19
|
+
console.log('konnnitiha') が評価されると、"コンソールに「okureru」を出力する"という処理が実行され、undefinedが返ってきます。(console.log()関数の戻り値は[undefined](https://console.spec.whatwg.org/#logger)です)
|
20
20
|
結果、 setTimeout(undefined , 5000));
|
21
21
|
として実行されるということです)
|
22
22
|
|
23
23
|
|
24
|
-
期待する動作(5秒後に"okureruを表示)をさせるには、第1引数に、「console.log(
|
24
|
+
期待する動作(5秒後に"okureruを表示)をさせるには、第1引数に、「console.log('konnnitiha')という処理を実行する**関数**(関数オブジェクト)」を指定する必要があります。
|
25
25
|
```js
|
26
|
-
// console.log(
|
26
|
+
// console.log('konnnitiha')という処理を実行する関数
|
27
27
|
function yobidashi() {
|
28
|
-
console.log(
|
28
|
+
console.log('konnnitiha');
|
29
29
|
}
|
30
30
|
// 関数オブジェクトを指定 ※「yobidashi()」のように括弧をつけると yobiadshiという関数が即時実行されるため、期待する動作にならない。
|
31
31
|
setTimeout(yobidashi, 5000);
|
@@ -33,20 +33,20 @@
|
|
33
33
|
|
34
34
|
これを無名関数を使って書き直すと
|
35
35
|
```js
|
36
|
-
setTimeout(function() {console.log(
|
36
|
+
setTimeout(function() {console.log('konnnitiha')}, 5000);
|
37
37
|
```
|
38
38
|
|
39
39
|
これをアロー関数式を使えば
|
40
40
|
```js
|
41
|
-
setTimeout(() => console.log(
|
41
|
+
setTimeout(() => console.log('konnnitiha'), 5000);
|
42
42
|
```
|
43
43
|
となります。
|
44
44
|
|
45
|
-
こうすれば、「console.log(
|
45
|
+
こうすれば、「console.log('konnnitiha')を実行する関数」を5秒後に実行することになるので、意図する動作になります。
|
46
46
|
|
47
|
-
※「console.log(
|
47
|
+
※「console.log('konnnitiha')」 も関数ではないかと思うかもしれませんが、これを引数に指定するとconsole.log()関数を実行することになってしまうため、関数の指定とは異なります。
|
48
48
|
もしあえてconsole.logを直接指定したいならば
|
49
|
-
setTimeout(console.log, 5000,
|
49
|
+
setTimeout(console.log, 5000, 'konnnitiha');
|
50
50
|
となるでしょう。
|
51
51
|
|
52
52
|
|
@@ -72,7 +72,7 @@
|
|
72
72
|
とすると、
|
73
73
|
Promiseオブジェクトの生成時、即時に setTimeout(() => console.log(aisatu), zikan)
|
74
74
|
が実行されます。
|
75
|
-
そしてこれはsetTimeoutの引数に 「console.log(
|
75
|
+
そしてこれはsetTimeoutの引数に 「console.log('konnnitiha')を実行する関数(関数オブジェクト)」を指定している為、期待する動作となります。
|
76
76
|
|
77
77
|
---
|
78
78
|
|
16
test
CHANGED
@@ -49,6 +49,11 @@
|
|
49
49
|
setTimeout(console.log, 5000, "okureru");
|
50
50
|
となるでしょう。
|
51
51
|
|
52
|
+
|
53
|
+
ここらへんは「コールバック関数」のキーワードで検索するといろいろ解説が出てきます。
|
54
|
+
たとえば下記のページ等が参考になるでしょう。
|
55
|
+
https://qiita.com/matsuby/items/3f635943f25e520b7c20
|
56
|
+
|
52
57
|
---
|
53
58
|
|
54
59
|
あとは、querykumaさんの書かれているとおりです。
|
15
test
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
5秒後にundefinedが実行されるだけなので、5秒後には何も表示されません。
|
14
14
|
|
15
15
|
(1つ前の質問に対するコメントでmaisumakunさんが書かれていますが、
|
16
|
-
setTimeoutに限らず、関数の実行前に、関数に指定した引数の方から先に評価(≒それが実行可能な
|
16
|
+
setTimeoutに限らず、関数の実行前に、関数に指定した引数の方から先に評価(≒それが実行可能な形式であれば実行)されます。
|
17
17
|
setTimeout(console.log("okureru"), 5000));
|
18
18
|
と書くと、setTimeoutという関数の実行前に、まず引数に指定した 「console.log("okureru")」が評価されます。
|
19
19
|
console.log("okureru") が評価されると、"コンソールに「okureru」を出力する"という処理が実行され、undefinedが返ってきます。(console.log()関数の戻り値は[undefined](https://console.spec.whatwg.org/#logger)です)
|
14
test
CHANGED
@@ -44,7 +44,10 @@
|
|
44
44
|
|
45
45
|
こうすれば、「console.log("okureru")を実行する関数」を5秒後に実行することになるので、意図する動作になります。
|
46
46
|
|
47
|
-
※「console.log("okureru")」 も関数ではないかと思うかもしれませんが、これを引数に指定するとconsole.log()関数を実行することになってしまうため、関数
|
47
|
+
※「console.log("okureru")」 も関数ではないかと思うかもしれませんが、これを引数に指定するとconsole.log()関数を実行することになってしまうため、関数の指定とは異なります。
|
48
|
+
もしあえてconsole.logを直接指定したいならば
|
49
|
+
setTimeout(console.log, 5000, "okureru");
|
50
|
+
となるでしょう。
|
48
51
|
|
49
52
|
---
|
50
53
|
|
13
test
CHANGED
@@ -44,11 +44,11 @@
|
|
44
44
|
|
45
45
|
こうすれば、「console.log("okureru")を実行する関数」を5秒後に実行することになるので、意図する動作になります。
|
46
46
|
|
47
|
-
※「console.log("okureru")」 も関数ではないかと思うかもしれませんが、これ
|
47
|
+
※「console.log("okureru")」 も関数ではないかと思うかもしれませんが、これを引数に指定するとconsole.log()関数を実行することになってしまうため、関数オブジェクトの指定と異なります。
|
48
48
|
|
49
49
|
---
|
50
50
|
|
51
|
-
あとは、
|
51
|
+
あとは、querykumaさんの書かれているとおりです。
|
52
52
|
Promiseの引数関数も即時実行されます。
|
53
53
|
```js
|
54
54
|
const okureru = (aisatu, zikann) => new Promise(resolve => setTimeout(resolve(aisatu), zikan));
|
12
test
CHANGED
@@ -48,8 +48,8 @@
|
|
48
48
|
|
49
49
|
---
|
50
50
|
|
51
|
-
あとは、
|
51
|
+
あとは、、querykumaさんの書かれているとおりです。
|
52
|
-
Promiseの引数関数
|
52
|
+
Promiseの引数関数も即時実行されます。
|
53
53
|
```js
|
54
54
|
const okureru = (aisatu, zikann) => new Promise(resolve => setTimeout(resolve(aisatu), zikan));
|
55
55
|
okureru('konnnitiha', 5000).then(console.log);
|
11
test
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
5秒後にundefinedが実行されるだけなので、5秒後には何も表示されません。
|
14
14
|
|
15
15
|
(1つ前の質問に対するコメントでmaisumakunさんが書かれていますが、
|
16
|
-
setTimeoutに限らず、関数の実行前に、指定した引数の方から先に評価(≒それが実行可能なな形式であれば実行)されます。
|
16
|
+
setTimeoutに限らず、関数の実行前に、関数に指定した引数の方から先に評価(≒それが実行可能なな形式であれば実行)されます。
|
17
17
|
setTimeout(console.log("okureru"), 5000));
|
18
18
|
と書くと、setTimeoutという関数の実行前に、まず引数に指定した 「console.log("okureru")」が評価されます。
|
19
19
|
console.log("okureru") が評価されると、"コンソールに「okureru」を出力する"という処理が実行され、undefinedが返ってきます。(console.log()関数の戻り値は[undefined](https://console.spec.whatwg.org/#logger)です)
|
@@ -27,7 +27,7 @@
|
|
27
27
|
function yobidashi() {
|
28
28
|
console.log("okureru");
|
29
29
|
}
|
30
|
-
// 関数オブジェクトを指定 ※「yobidashi()」のように括弧をつけると期待する動作にならない。
|
30
|
+
// 関数オブジェクトを指定 ※「yobidashi()」のように括弧をつけると yobiadshiという関数が即時実行されるため、期待する動作にならない。
|
31
31
|
setTimeout(yobidashi, 5000);
|
32
32
|
```
|
33
33
|
|
10
test
CHANGED
@@ -12,12 +12,12 @@
|
|
12
12
|
そして console.log("okureru") の戻り値 undefined がsetTimeoutに渡され、
|
13
13
|
5秒後にundefinedが実行されるだけなので、5秒後には何も表示されません。
|
14
14
|
|
15
|
+
(1つ前の質問に対するコメントでmaisumakunさんが書かれていますが、
|
15
|
-
|
16
|
+
setTimeoutに限らず、関数の実行前に、指定した引数の方から先に評価(≒それが実行可能なな形式であれば実行)されます。
|
16
17
|
setTimeout(console.log("okureru"), 5000));
|
17
18
|
と書くと、setTimeoutという関数の実行前に、まず引数に指定した 「console.log("okureru")」が評価されます。
|
18
|
-
console.log("okureru") が評価されると、"コンソールに「okureru」を出力する"という処理が実行され、undefinedが返ってきます。
|
19
|
+
console.log("okureru") が評価されると、"コンソールに「okureru」を出力する"という処理が実行され、undefinedが返ってきます。(console.log()関数の戻り値は[undefined](https://console.spec.whatwg.org/#logger)です)
|
19
|
-
つまりconsole.log("okureru") の戻り値は undefined です(okureruは出力内容であり戻り値ではありません)ので
|
20
|
-
setTimeout(undefined , 5000));
|
20
|
+
結果、 setTimeout(undefined , 5000));
|
21
21
|
として実行されるということです)
|
22
22
|
|
23
23
|
|
9
test
CHANGED
@@ -15,7 +15,8 @@
|
|
15
15
|
(setTimeoutに限らず、関数の実行前に、指定した引数の方から先に評価(≒それが実行可能なな形式であれば実行)されます。
|
16
16
|
setTimeout(console.log("okureru"), 5000));
|
17
17
|
と書くと、setTimeoutという関数の実行前に、まず引数に指定した 「console.log("okureru")」が評価されます。
|
18
|
+
console.log("okureru") が評価されると、"コンソールに「okureru」を出力する"という処理が実行され、undefinedが返ってきます。
|
18
|
-
console.log("okureru") の戻り値は undefined です(okureruは出力内容であり戻り値ではありません)ので
|
19
|
+
つまりconsole.log("okureru") の戻り値は undefined です(okureruは出力内容であり戻り値ではありません)ので
|
19
20
|
setTimeout(undefined , 5000));
|
20
21
|
として実行されるということです)
|
21
22
|
|
8
test
CHANGED
@@ -3,14 +3,23 @@
|
|
3
3
|
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-02-13/419608fb-b1f7-4b52-944e-c69d3a1d6f55.png)
|
4
4
|
https://developer.mozilla.org/ja/docs/Web/API/setTimeout
|
5
5
|
|
6
|
-
まずsetTimeoutの
|
6
|
+
まずsetTimeoutのつかいかたについての話をすると
|
7
7
|
```
|
8
8
|
setTimeout(console.log("okureru"), 5000));
|
9
9
|
```
|
10
10
|
この書き方だと、第一引数に指定されたconsole.log("okureru")がすぐ実行され、okureruが表示されます。
|
11
|
+
|
11
12
|
そして console.log("okureru") の戻り値 undefined がsetTimeoutに渡され、
|
12
13
|
5秒後にundefinedが実行されるだけなので、5秒後には何も表示されません。
|
13
14
|
|
15
|
+
(setTimeoutに限らず、関数の実行前に、指定した引数の方から先に評価(≒それが実行可能なな形式であれば実行)されます。
|
16
|
+
setTimeout(console.log("okureru"), 5000));
|
17
|
+
と書くと、setTimeoutという関数の実行前に、まず引数に指定した 「console.log("okureru")」が評価されます。
|
18
|
+
console.log("okureru") の戻り値は undefined です(okureruは出力内容であり戻り値ではありません)ので、
|
19
|
+
setTimeout(undefined , 5000));
|
20
|
+
として実行されるということです)
|
21
|
+
|
22
|
+
|
14
23
|
期待する動作(5秒後に"okureruを表示)をさせるには、第1引数に、「console.log("okureru")という処理を実行する**関数**(関数オブジェクト)」を指定する必要があります。
|
15
24
|
```js
|
16
25
|
// console.log("okureru")という処理を実行する関数
|
7
test
CHANGED
@@ -11,13 +11,13 @@
|
|
11
11
|
そして console.log("okureru") の戻り値 undefined がsetTimeoutに渡され、
|
12
12
|
5秒後にundefinedが実行されるだけなので、5秒後には何も表示されません。
|
13
13
|
|
14
|
-
期待する動作(5秒後に"okureruを表示)をさせるには、第1引数に、「console.log("okureru")という処理を実行する**関数**」を指定する必要があります。
|
14
|
+
期待する動作(5秒後に"okureruを表示)をさせるには、第1引数に、「console.log("okureru")という処理を実行する**関数**(関数オブジェクト)」を指定する必要があります。
|
15
15
|
```js
|
16
16
|
// console.log("okureru")という処理を実行する関数
|
17
17
|
function yobidashi() {
|
18
18
|
console.log("okureru");
|
19
19
|
}
|
20
|
-
// 関数を指定 ※「yobidashi()」のように括弧をつけると期待する動作にならない。
|
20
|
+
// 関数オブジェクトを指定 ※「yobidashi()」のように括弧をつけると期待する動作にならない。
|
21
21
|
setTimeout(yobidashi, 5000);
|
22
22
|
```
|
23
23
|
|
@@ -32,7 +32,9 @@
|
|
32
32
|
```
|
33
33
|
となります。
|
34
34
|
|
35
|
-
こうすれば、「console.log("okureru")を実行する関数」を5秒後に
|
35
|
+
こうすれば、「console.log("okureru")を実行する関数」を5秒後に実行することになるので、意図する動作になります。
|
36
|
+
|
37
|
+
※「console.log("okureru")」 も関数ではないかと思うかもしれませんが、これは関数の呼び出しであり、関数オブジェクトの指定と異なります。
|
36
38
|
|
37
39
|
---
|
38
40
|
|
@@ -52,7 +54,7 @@
|
|
52
54
|
とすると、
|
53
55
|
Promiseオブジェクトの生成時、即時に setTimeout(() => console.log(aisatu), zikan)
|
54
56
|
が実行されます。
|
55
|
-
そしてこれはsetTimeoutの引数に 「console.log("okureru")を実行する関数」を指定している為、期待する動作となります。
|
57
|
+
そしてこれはsetTimeoutの引数に 「console.log("okureru")を実行する関数(関数オブジェクト)」を指定している為、期待する動作となります。
|
56
58
|
|
57
59
|
---
|
58
60
|
|
6
test
CHANGED
@@ -26,14 +26,13 @@
|
|
26
26
|
setTimeout(function() {console.log("okureru")}, 5000);
|
27
27
|
```
|
28
28
|
|
29
|
-
これをアロー
|
29
|
+
これをアロー関数式を使えば
|
30
30
|
```js
|
31
31
|
setTimeout(() => console.log("okureru"), 5000);
|
32
32
|
```
|
33
33
|
となります。
|
34
34
|
|
35
35
|
こうすれば、「console.log("okureru")を実行する関数」を5秒後に呼び出すことになるので、意図する動作になります。
|
36
|
-
|
37
36
|
|
38
37
|
---
|
39
38
|
|
@@ -53,7 +52,7 @@
|
|
53
52
|
とすると、
|
54
53
|
Promiseオブジェクトの生成時、即時に setTimeout(() => console.log(aisatu), zikan)
|
55
54
|
が実行されます。
|
56
|
-
そしてこれはsetTimeoutの引数に 「console.log("
|
55
|
+
そしてこれはsetTimeoutの引数に 「console.log("okureru")を実行する関数」を指定している為、期待する動作となります。
|
57
56
|
|
58
57
|
---
|
59
58
|
|
5
test
CHANGED
@@ -12,11 +12,22 @@
|
|
12
12
|
5秒後にundefinedが実行されるだけなので、5秒後には何も表示されません。
|
13
13
|
|
14
14
|
期待する動作(5秒後に"okureruを表示)をさせるには、第1引数に、「console.log("okureru")という処理を実行する**関数**」を指定する必要があります。
|
15
|
+
```js
|
16
|
+
// console.log("okureru")という処理を実行する関数
|
17
|
+
function yobidashi() {
|
18
|
+
console.log("okureru");
|
19
|
+
}
|
20
|
+
// 関数を指定 ※「yobidashi()」のように括弧をつけると期待する動作にならない。
|
21
|
+
setTimeout(yobidashi, 5000);
|
15
22
|
```
|
23
|
+
|
24
|
+
これを無名関数を使って書き直すと
|
25
|
+
```js
|
16
26
|
setTimeout(function() {console.log("okureru")}, 5000);
|
17
27
|
```
|
28
|
+
|
18
29
|
これをアロー記法で表せば
|
19
|
-
```
|
30
|
+
```js
|
20
31
|
setTimeout(() => console.log("okureru"), 5000);
|
21
32
|
```
|
22
33
|
となります。
|
@@ -24,19 +35,18 @@
|
|
24
35
|
こうすれば、「console.log("okureru")を実行する関数」を5秒後に呼び出すことになるので、意図する動作になります。
|
25
36
|
|
26
37
|
|
27
|
-
|
28
38
|
---
|
29
39
|
|
30
40
|
あとは、promiseの仕様として、querykumaさんの書かれているとおりです。
|
31
41
|
Promiseの引数関数は即時実行されます。
|
32
|
-
```
|
42
|
+
```js
|
33
43
|
const okureru = (aisatu, zikann) => new Promise(resolve => setTimeout(resolve(aisatu), zikan));
|
34
44
|
okureru('konnnitiha', 5000).then(console.log);
|
35
45
|
```
|
36
46
|
とすると、
|
37
47
|
Promiseオブジェクトの生成時、即時に setTimeout(console.log(aisatu), zikan)
|
38
48
|
が実行されますが、これは上述の通り、期待する動作となりません。
|
39
|
-
```
|
49
|
+
```js
|
40
50
|
const okureru = (aisatu, zikann) => new Promise(resolve => setTimeout(()=>resolve(aisatu), zikan));
|
41
51
|
okureru('konnnitiha', 5000).then(console.log);
|
42
52
|
```
|
4
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
> 今回の意図しない動きとしては、setTimeout関数の仕様で、引数への値の渡し方に間違いがあったという認識でよろしいでしょうか、、、、
|
2
2
|
一部には、はい。
|
3
|
-
|
3
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-02-13/419608fb-b1f7-4b52-944e-c69d3a1d6f55.png)
|
4
4
|
https://developer.mozilla.org/ja/docs/Web/API/setTimeout
|
5
5
|
|
6
6
|
まずsetTimeoutの仕様(つかいかた)に限定した話をすると
|
3
test
CHANGED
@@ -21,8 +21,8 @@
|
|
21
21
|
```
|
22
22
|
となります。
|
23
23
|
|
24
|
-
こうすれば、「console.log("
|
24
|
+
こうすれば、「console.log("okureru")を実行する関数」を5秒後に呼び出すことになるので、意図する動作になります。
|
25
|
-
|
25
|
+
|
26
26
|
|
27
27
|
|
28
28
|
---
|
2
test
CHANGED
@@ -43,7 +43,7 @@
|
|
43
43
|
とすると、
|
44
44
|
Promiseオブジェクトの生成時、即時に setTimeout(() => console.log(aisatu), zikan)
|
45
45
|
が実行されます。
|
46
|
-
そしてこれはsetTimeoutの引数に 「
|
46
|
+
そしてこれはsetTimeoutの引数に 「console.log(""okureru")を実行する関数」を指定している為、期待する動作となります。
|
47
47
|
|
48
48
|
---
|
49
49
|
|
1
test
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
```
|
18
18
|
これをアロー記法で表せば
|
19
19
|
```
|
20
|
-
setTimeout(() => console.log, 5000);
|
20
|
+
setTimeout(() => console.log("okureru"), 5000);
|
21
21
|
```
|
22
22
|
となります。
|
23
23
|
|