teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

TDZ

2020/09/24 07:57

投稿

think49
think49

スコア18194

answer CHANGED
@@ -29,6 +29,8 @@
29
29
  }
30
30
  ```
31
31
 
32
- `const` で定義された変数はTDZによって、const宣言前に使用する事が出来ません。
32
+ `let, const` で定義された変数は**TDZ(Temporal dead zone)**によって、const宣言前に使用する事が出来ません。
33
33
 
34
+ - [let - JavaScript | MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/let#Temporal_dead_zone)
35
+
34
36
  Re: tooju さん

1

var, let, const

2020/09/24 07:57

投稿

think49
think49

スコア18194

answer CHANGED
@@ -19,4 +19,16 @@
19
19
 
20
20
  - [JavaScript - 関数と変数の巻き上げの違いとは|teratail](https://teratail.com/questions/33002#reply-52186)
21
21
 
22
+ `var, let, const` を使うと、「定義と呼び出し」の考え方に即した動作になります。
23
+
24
+ ```JavaScript
25
+ sample('太郎', 32); // ReferenceError: Cannot access 'sample' before initialization
26
+
27
+ const sample = function sample (name, age) {
28
+ console.log(name + 'さんの年齢は' + age + 'です!');
29
+ }
30
+ ```
31
+
32
+ `const` で定義された変数はTDZによって、const宣言前に使用する事が出来ません。
33
+
22
34
  Re: tooju さん