回答編集履歴

5

修正

2022/06/13 14:54

投稿

退会済みユーザー
test CHANGED
@@ -15,11 +15,17 @@
15
15
 
16
16
  以下を実行してみるとわかりやすいかも
17
17
  ```
18
- const a=[['a','b'],['c','d']];
18
+ const map=[['a','b'],['c','d']];
19
19
 
20
- console.log(a[0][-1]);
20
+ console.log(map[0][-1]);
21
21
  >>> undefined
22
22
 
23
- console.log(a[-1][0]);
23
+ console.log(map[-1][0]);
24
24
  >>> Uncaught TypeError: Cannot read properties of undefined (reading '0') at <anonymous>:1:6
25
+
26
+ console.log(map[1][1000]);
27
+ >>> undefined
28
+
29
+ console.log(map[1000][1]);
30
+ >>> Uncaught TypeError: Cannot read properties of undefined (reading '1') at <anonymous>:1:19
25
31
  ```

4

修正

2022/06/13 14:51

投稿

退会済みユーザー
test CHANGED
@@ -15,7 +15,7 @@
15
15
 
16
16
  以下を実行してみるとわかりやすいかも
17
17
  ```
18
- const a=[[0,0],[1,1]]
18
+ const a=[['a','b'],['c','d']];
19
19
 
20
20
  console.log(a[0][-1]);
21
21
  >>> undefined

3

例示

2022/06/13 14:50

投稿

退会済みユーザー
test CHANGED
@@ -11,3 +11,15 @@
11
11
  たとえばmap[5][-1] としても map[5]は正常な値を返し、map[5][-1]自体は undefined になるだけで、これ自体でエラーが発生するわけではない。
12
12
  (後続の処理で map[5][-1]がundefinedになっていることによりエラーが発生するかもしれないがコードが示されて無いのでなんともいえない)
13
13
 
14
+ ---
15
+
16
+ 以下を実行してみるとわかりやすいかも
17
+ ```
18
+ const a=[[0,0],[1,1]]
19
+
20
+ console.log(a[0][-1]);
21
+ >>> undefined
22
+
23
+ console.log(a[-1][0]);
24
+ >>> Uncaught TypeError: Cannot read properties of undefined (reading '0') at <anonymous>:1:6
25
+ ```

2

ちょっと修正

2022/06/13 14:48

投稿

退会済みユーザー
test CHANGED
@@ -5,9 +5,9 @@
5
5
  undefinedに対して インデックスでアクセスできないのでエラーになる。
6
6
 
7
7
  たとえば map に -1というプロパティがない状態で
8
- map[-1][0] とすると、undefined[0] を実行することになり、エラーが発生する。
8
+ map[-1][0] とすると、map[-1]はundefinedになるから、map[-1][0]はundefined[0] を実行することになり、エラーが発生する。
9
9
 
10
10
  一方、yが範囲内であれば、map[y]はインデックスでアクセスできるということなので、たとえ2次元目のxが範囲外であってもエラーにならない。
11
- たとえばmap[5][-1] としても map[5][-1]自体は undefined になるだけで、これ自体でエラーが発生するわけではない。
11
+ たとえばmap[5][-1] としても map[5]は正常な値を返し、map[5][-1]自体は undefined になるだけで、これ自体でエラーが発生するわけではない。
12
12
  (後続の処理で map[5][-1]がundefinedになっていることによりエラーが発生するかもしれないがコードが示されて無いのでなんともいえない)
13
13
 

1

typo

2022/06/13 14:46

投稿

退会済みユーザー
test CHANGED
@@ -9,5 +9,5 @@
9
9
 
10
10
  一方、yが範囲内であれば、map[y]はインデックスでアクセスできるということなので、たとえ2次元目のxが範囲外であってもエラーにならない。
11
11
  たとえばmap[5][-1] としても map[5][-1]自体は undefined になるだけで、これ自体でエラーが発生するわけではない。
12
- (後続の処理で map[5][-1]がundefinedになっていることによりエラーが発生するかもしれないがコードが示され愛知無いのでなんともいえない)
12
+ (後続の処理で map[5][-1]がundefinedになっていることによりエラーが発生するかもしれないがコードが示され無いのでなんともいえない)
13
13