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

回答編集履歴

3

切り分けポイント

2020/08/26 22:10

投稿

think49
think49

スコア18194

answer CHANGED
@@ -33,6 +33,13 @@
33
33
 
34
34
  ### 切り分け
35
35
 
36
+ **切り分けポイント**
37
+
38
+ 1. TypeErrorが発生する最小限のコードは「****」である
39
+ 2. 「プロパティが存在しない」or「プロパティに undefined 値が代入されている」
40
+ 3. プロパティは「直属のプロパティである」or「prototype-chain 上のプロパティである」
41
+ 4. プロパティは「静的プロパティである」or「getterプロパティである」「new Proxyのtrapプロパティである」
42
+
36
43
  **(Q1) エラーコードの特定**
37
44
  下記コードで「`TypeError: Cannot read property 'Name' of undefined`」が発生しますか
38
45
  (※エラーメッセージが異なれば、当該エラーメッセージを添えてください)

2

切り分け

2020/08/26 22:10

投稿

think49
think49

スコア18194

answer CHANGED
@@ -31,4 +31,22 @@
31
31
  - TypeError直前に**breakpoint**を設置する
32
32
  - TypeError直前で `console.log(JSON.stringify(arrRatioList))`
33
33
 
34
+ ### 切り分け
35
+
36
+ **(Q1) エラーコードの特定**
37
+ 下記コードで「`TypeError: Cannot read property 'Name' of undefined`」が発生しますか
38
+ (※エラーメッセージが異なれば、当該エラーメッセージを添えてください)
39
+
40
+ ```JavaScript
41
+ ratioList[i].Name; // TypeError: Cannot read property 'Name' of undefined
42
+ ```
43
+
44
+ **(Q2) プロパティ状態の特定**
45
+ 下記コードの出力結果を教えてください
46
+
47
+ ```JavaScript
48
+ console.log(i, i in ratioList, Object.prototype.hasOwnProperty.call(ratioList, i), ratioList[i]);
49
+ console.log(Object.getOwnPropertyDescriptor(ratioList, i));
50
+ ```
51
+
34
52
  Re: moimoi_sushi さん

1

TypeError

2020/08/26 22:03

投稿

think49
think49

スコア18194

answer CHANGED
@@ -1,4 +1,4 @@
1
- ### TypeError: Cannot read property 'Name' of undefined
1
+ ### TypeError
2
2
 
3
3
  TypeScriptからJavaScriptにコンパイルしたとして、
4
4
 
@@ -19,7 +19,7 @@
19
19
  };
20
20
  ```
21
21
 
22
- 最も気になるのは、`ratioList.length < 2` である場合に**TypeRrror**になる事です。
22
+ 最も気になるのは、`ratioList.length < 2` である場合に**TypeError**になる事です。
23
23
 
24
24
  ```JavaScript
25
25
  ratioListsLoop([], 'foo'); // TypeError: Cannot read property 'Name' of undefined