回答編集履歴
5
修正
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
修正
test
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
|
16
16
|
以下を実行してみるとわかりやすいかも
|
17
17
|
```
|
18
|
-
const a=[[
|
18
|
+
const a=[['a','b'],['c','d']];
|
19
19
|
|
20
20
|
console.log(a[0][-1]);
|
21
21
|
>>> undefined
|
3
例示
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
ちょっと修正
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
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
|
|