回答編集履歴

20

 

2022/02/13 04:26

投稿

退会済みユーザー
test CHANGED
@@ -26,7 +26,9 @@
26
26
  function yobidashi() {
27
27
  console.log('konnnitiha');
28
28
  }
29
+ // 関数オブジェクトを指定
30
+ // ※「yobidashi()」のように括弧をつけると、setTimeoutの評価の前に
29
- // 関数オブジェクトを指定 ※「yobidashi()」のように括弧をつけると yobiadshiという関数が即時実行されるため、期待する動作にならない。
31
+ // yobidashi関数が即時実行されundefinedが返ってくるため、期待する動作にならない。
30
32
  setTimeout(yobidashi, 5000);
31
33
  ```
32
34
   

19

 

2022/02/13 04:24

投稿

退会済みユーザー
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

 

2022/02/13 03:31

投稿

退会済みユーザー
test CHANGED
@@ -7,7 +7,7 @@
7
7
  ```
8
8
  setTimeout(console.log('konnnitiha'), 5000));
9
9
  ```
10
- この書き方だと、第一引数に指定されたconsole.log('konnnitiha')がすぐ実行され、okureruが表示されます。
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') が評価されると、"コンソールに「okureru」を出力する"という処理が実行され、undefinedが返ってきます。(console.log()関数の戻り値は[undefined](https://console.spec.whatwg.org/#logger)です)
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

 

2022/02/13 03:30

投稿

退会済みユーザー
test CHANGED
@@ -5,27 +5,27 @@
5
5
 
6
6
  まずsetTimeoutのつかいかたについての話をすると
7
7
  ```
8
- setTimeout(console.log("okureru"), 5000));
8
+ setTimeout(console.log('konnnitiha'), 5000));
9
9
  ```
10
- この書き方だと、第一引数に指定されたconsole.log("okureru")がすぐ実行され、okureruが表示されます。
10
+ この書き方だと、第一引数に指定されたconsole.log('konnnitiha')がすぐ実行され、okureruが表示されます。
11
11
 
12
- そして console.log("okureru") の戻り値 undefined がsetTimeoutに渡され、
12
+ そして console.log('konnnitiha') の戻り値 undefined がsetTimeoutに渡され、
13
13
  5秒後にundefinedが実行されるだけなので、5秒後には何も表示されません。
14
14
 
15
15
  (1つ前の質問に対するコメントでmaisumakunさんが書かれていますが、
16
16
  setTimeoutに限らず、関数の実行前に、関数に指定した引数の方から先に評価(≒それが実行可能な形式であれば実行)されます。
17
- setTimeout(console.log("okureru"), 5000));
17
+ setTimeout(console.log('konnnitiha'), 5000));
18
- と書くと、setTimeoutという関数の実行前に、まず引数に指定した 「console.log("okureru")」が評価されます。
18
+ と書くと、setTimeoutという関数の実行前に、まず引数に指定した 「console.log('konnnitiha')」が評価されます。
19
- console.log("okureru") が評価されると、"コンソールに「okureru」を出力する"という処理が実行され、undefinedが返ってきます。(console.log()関数の戻り値は[undefined](https://console.spec.whatwg.org/#logger)です)
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("okureru")という処理を実行する**関数**(関数オブジェクト)」を指定する必要があります。
24
+ 期待する動作(5秒後に"okureruを表示)をさせるには、第1引数に、「console.log('konnnitiha')という処理を実行する**関数**(関数オブジェクト)」を指定する必要があります。
25
25
  ```js
26
- // console.log("okureru")という処理を実行する関数
26
+ // console.log('konnnitiha')という処理を実行する関数
27
27
  function yobidashi() {
28
- console.log("okureru");
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("okureru")}, 5000);
36
+ setTimeout(function() {console.log('konnnitiha')}, 5000);
37
37
  ```
38
38
   
39
39
  これをアロー関数式を使えば
40
40
  ```js
41
- setTimeout(() => console.log("okureru"), 5000);
41
+ setTimeout(() => console.log('konnnitiha'), 5000);
42
42
  ```
43
43
  となります。
44
44
 
45
- こうすれば、「console.log("okureru")を実行する関数」を5秒後に実行することになるので、意図する動作になります。
45
+ こうすれば、「console.log('konnnitiha')を実行する関数」を5秒後に実行することになるので、意図する動作になります。
46
46
 
47
- ※「console.log("okureru")」 も関数ではないかと思うかもしれませんが、これを引数に指定するとconsole.log()関数を実行することになってしまうため、関数の指定とは異なります。
47
+ ※「console.log('konnnitiha')」 も関数ではないかと思うかもしれませんが、これを引数に指定するとconsole.log()関数を実行することになってしまうため、関数の指定とは異なります。
48
48
  もしあえてconsole.logを直接指定したいならば
49
- setTimeout(console.log, 5000, "okureru");
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("okureru")を実行する関数(関数オブジェクト)」を指定している為、期待する動作となります。
75
+ そしてこれはsetTimeoutの引数に 「console.log('konnnitiha')を実行する関数(関数オブジェクト)」を指定している為、期待する動作となります。
76
76
 
77
77
  ---
78
78
 

16

 

2022/02/13 03:09

投稿

退会済みユーザー
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

 

2022/02/13 02:47

投稿

退会済みユーザー
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

 

2022/02/13 02:41

投稿

退会済みユーザー
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

 

2022/02/13 02:36

投稿

退会済みユーザー
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
- あとは、querykumaさんの書かれているとおりです。
51
+ あとは、querykumaさんの書かれているとおりです。
52
52
  Promiseの引数関数も即時実行されます。
53
53
  ```js
54
54
  const okureru = (aisatu, zikann) => new Promise(resolve => setTimeout(resolve(aisatu), zikan));

12

 

2022/02/13 02:18

投稿

退会済みユーザー
test CHANGED
@@ -48,8 +48,8 @@
48
48
 
49
49
  ---
50
50
 
51
- あとは、promiseの仕様として、querykumaさんの書かれているとおりです。
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

 

2022/02/13 02:16

投稿

退会済みユーザー
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

 

2022/02/13 02:14

投稿

退会済みユーザー
test CHANGED
@@ -12,12 +12,12 @@
12
12
  そして console.log("okureru") の戻り値 undefined がsetTimeoutに渡され、
13
13
  5秒後にundefinedが実行されるだけなので、5秒後には何も表示されません。
14
14
 
15
+ (1つ前の質問に対するコメントでmaisumakunさんが書かれていますが、
15
- setTimeoutに限らず、関数の実行前に、指定した引数の方から先に評価(≒それが実行可能なな形式であれば実行)されます。
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

  

2022/02/13 02:08

投稿

退会済みユーザー
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

 

2022/02/13 02:03

投稿

退会済みユーザー
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

 

2022/02/13 01:06

投稿

退会済みユーザー
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

 

2022/02/13 00:57

投稿

退会済みユーザー
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(""okureru")を実行する関数」を指定している為、期待する動作となります。
55
+ そしてこれはsetTimeoutの引数に 「console.log("okureru")を実行する関数」を指定している為、期待する動作となります。
57
56
 
58
57
  ---
59
58
 

5

  

2022/02/13 00:56

投稿

退会済みユーザー
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

 

2022/02/13 00:48

投稿

退会済みユーザー
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

 

2022/02/13 00:45

投稿

退会済みユーザー
test CHANGED
@@ -21,8 +21,8 @@
21
21
  ```
22
22
  となります。
23
23
 
24
- こうすれば、「console.log(""okureru")を実行する関数」を5秒後に呼び出すことになるので、意図する動作になります。
24
+ こうすれば、「console.log("okureru")を実行する関数」を5秒後に呼び出すことになるので、意図する動作になります。
25
- (なお、ブラウザ/実行環境によっては、第3引数を指定できない場合があります) 
25
+
26
26
 
27
27
 
28
28
  ---

2

 

2022/02/13 00:44

投稿

退会済みユーザー
test CHANGED
@@ -43,7 +43,7 @@
43
43
  とすると、
44
44
  Promiseオブジェクトの生成時、即時に setTimeout(() => console.log(aisatu), zikan)
45
45
  が実行されます。
46
- そしてこれはsetTimeoutの引数に 「console.log(""okureru")を実行する関数」を指定している為、期待する動作となります。
46
+ そしてこれはsetTimeoutの引数に 「console.log(""okureru")を実行する関数」を指定している為、期待する動作となります。
47
47
 
48
48
  ---
49
49
 

1

2022/02/13 00:43

投稿

退会済みユーザー
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