回答編集履歴
16
テキスト修正
test
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
-
|
25
|
+
これを使って、プロパティ`a`を表示するコード例を、以下に作成してみました。
|
26
26
|
|
27
27
|
|
28
28
|
|
15
テキスト修正
test
CHANGED
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
|
52
52
|
|
53
|
-
|
53
|
+
MDNの `eval()` の説明
|
54
54
|
|
55
55
|
|
56
56
|
|
14
テキスト修正
test
CHANGED
@@ -50,13 +50,7 @@
|
|
50
50
|
|
51
51
|
|
52
52
|
|
53
|
-
jsfiddle で `eval()`を使ったコードを書くと、 `eval`の下に黄色い下線が表示され、
|
54
|
-
|
55
|
-
そこにマウスを乗せると、**eval can be harmful** という警告が出ることがあります。
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
53
|
+
以下のMDNの `eval()` の説明
|
60
54
|
|
61
55
|
|
62
56
|
|
@@ -68,4 +62,16 @@
|
|
68
62
|
|
69
63
|
|
70
64
|
|
65
|
+
また、[jsfiddle](https://jsfiddle.net/) で `eval()`を使ったコードを書くと、 `eval()`の下に
|
66
|
+
|
67
|
+
黄色い下線が表示され、そこにマウスを乗せると、
|
68
|
+
|
69
|
+
**eval can be harmful**
|
70
|
+
|
71
|
+
という警告が出ることがあります。
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
71
77
|
以上参考になれば幸いです。
|
13
テキスト修正
test
CHANGED
@@ -52,15 +52,11 @@
|
|
52
52
|
|
53
53
|
jsfiddle で `eval()`を使ったコードを書くと、 `eval`の下に黄色い下線が表示され、
|
54
54
|
|
55
|
-
そこにマウスを乗せると
|
55
|
+
そこにマウスを乗せると、**eval can be harmful** という警告が出ることがあります。
|
56
56
|
|
57
57
|
|
58
58
|
|
59
|
-
`eval can be harmful`
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
59
|
+
また、以下のMDNの `eval()` の説明
|
64
60
|
|
65
61
|
|
66
62
|
|
12
テキスト修正
test
CHANGED
@@ -30,9 +30,19 @@
|
|
30
30
|
|
31
31
|
|
32
32
|
|
33
|
-
上記
|
33
|
+
上記を実行すると、右下のConsole に `A` が2回出力されているのを
|
34
34
|
|
35
|
+
確認できますが、2つ目の `A` は
|
36
|
+
|
37
|
+
```javascript
|
38
|
+
|
39
|
+
console.log(eval(name).a);
|
40
|
+
|
41
|
+
```
|
42
|
+
|
43
|
+
|
44
|
+
|
35
|
-
|
45
|
+
によって出力されたものです。
|
36
46
|
|
37
47
|
|
38
48
|
|
11
テキスト修正
test
CHANGED
File without changes
|
10
テキスト修正
test
CHANGED
@@ -12,9 +12,11 @@
|
|
12
12
|
|
13
13
|
```javascript
|
14
14
|
|
15
|
+
var list = { a:"A", b:"B" };
|
16
|
+
|
15
17
|
var name ="list";
|
16
18
|
|
17
|
-
console.log(eval(name)); // => {a:"A", b:"B"}
|
19
|
+
console.log(eval(name)); // => {a :"A", b:"B" }
|
18
20
|
|
19
21
|
```
|
20
22
|
|
9
テキスト修正
test
CHANGED
@@ -2,11 +2,25 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
+
ご質問のコードで、 変数 `name` に入れた `"list"` という文字列から、
|
6
|
+
|
7
|
+
変数 `list` が参照するオブジェクト `{a:"A", b:"B"}` を得ることは、
|
8
|
+
|
5
|
-
`eval()` を使えばできます。
|
9
|
+
`eval()` を以下のように使えばできます。
|
6
10
|
|
7
11
|
|
8
12
|
|
9
|
-
|
13
|
+
```javascript
|
14
|
+
|
15
|
+
var name ="list";
|
16
|
+
|
17
|
+
console.log(eval(name)); // => {a:"A", b:"B"}
|
18
|
+
|
19
|
+
```
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
上記を使って、プロパティ`a`を表示するコード例を、以下に作成してみました。
|
10
24
|
|
11
25
|
|
12
26
|
|
@@ -14,7 +28,7 @@
|
|
14
28
|
|
15
29
|
|
16
30
|
|
17
|
-
では、2つ目の`console.log()` でも、 右下のConsole に `A` が
|
31
|
+
上記では、2つ目の`console.log()` でも、 右下のConsole に `A` が
|
18
32
|
|
19
33
|
表示されているのを確認できると思います。
|
20
34
|
|
@@ -43,3 +57,7 @@
|
|
43
57
|
|
44
58
|
|
45
59
|
にも、 **必要以上に eval を使用しないで! **との注記があります。
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
以上参考になれば幸いです。
|
8
テキスト修正
test
CHANGED
@@ -2,15 +2,21 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
5
|
+
`eval()` を使えばできます。
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
|
9
|
+
たとえば、以下のコード
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
+
[https://jsfiddle.net/jun68ykt/swro4auf/1/](https://jsfiddle.net/jun68ykt/swro4auf/1/)
|
14
|
+
|
15
|
+
|
16
|
+
|
13
|
-
|
17
|
+
では、2つ目の`console.log()` でも、 右下のConsole に `A` が
|
18
|
+
|
19
|
+
表示されているのを確認できると思います。
|
14
20
|
|
15
21
|
|
16
22
|
|
7
テキスト修正
test
CHANGED
@@ -18,7 +18,9 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
|
21
|
+
jsfiddle で `eval()`を使ったコードを書くと、 `eval`の下に黄色い下線が表示され、
|
22
|
+
|
23
|
+
そこにマウスを乗せると
|
22
24
|
|
23
25
|
|
24
26
|
|
6
テキスト修正
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
上記の jsfiddle で
|
21
|
+
上記の jsfiddle で `eval()`を使ったコードを書くと、
|
22
22
|
|
23
23
|
|
24
24
|
|
@@ -26,18 +26,12 @@
|
|
26
26
|
|
27
27
|
|
28
28
|
|
29
|
-
という警告が出ることがあります
|
29
|
+
という警告が出ることがありますし、以下のMDNの `eval()` の説明
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
---
|
34
|
-
|
35
|
-
追記
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
以下にも、 **必要以上に eval を使用しないで! **との注記があります。
|
40
30
|
|
41
31
|
|
42
32
|
|
43
33
|
[https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/eval](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/eval)
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
にも、 **必要以上に eval を使用しないで! **との注記があります。
|
5
テキスト修正
test
CHANGED
@@ -16,9 +16,9 @@
|
|
16
16
|
|
17
17
|
ただし、`eval()`を濫用するのはバグのもとです。
|
18
18
|
|
19
|
-
上記の jsfiddle でも、 `eval()`に黄色の下線が表示され、
|
20
19
|
|
20
|
+
|
21
|
-
マウスを乗せると、
|
21
|
+
上記の jsfiddle でも `eval()`に黄色の下線が表示され、マウスを乗せると、
|
22
22
|
|
23
23
|
|
24
24
|
|
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
|
28
28
|
|
29
|
-
という警告が出ると
|
29
|
+
という警告が出ることがあります。
|
30
30
|
|
31
31
|
|
32
32
|
|
4
テキスト修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
5
|
+
以下のコード
|
6
6
|
|
7
7
|
|
8
8
|
|
@@ -10,13 +10,13 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
のように `eval`を使えば 、2つ目の`alert` でも `A` が表示されると思います。
|
13
|
+
のように `eval()`を使えば 、2つ目の`alert()` でも `A` が表示されると思います。
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
ただし、`eval`を濫用するのはバグのもとです。
|
17
|
+
ただし、`eval()`を濫用するのはバグのもとです。
|
18
18
|
|
19
|
-
上記の jsfiddle でも、 `eval`に黄色の下線が表示され、
|
19
|
+
上記の jsfiddle でも、 `eval()`に黄色の下線が表示され、
|
20
20
|
|
21
21
|
マウスを乗せると、
|
22
22
|
|
3
テキスト修正
test
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
|
13
|
+
のように `eval`を使えば 、2つ目の`alert` でも `A` が表示されると思います。
|
14
14
|
|
15
15
|
|
16
16
|
|
2
テキスト修正
test
CHANGED
@@ -16,6 +16,18 @@
|
|
16
16
|
|
17
17
|
ただし、`eval`を濫用するのはバグのもとです。
|
18
18
|
|
19
|
+
上記の jsfiddle でも、 `eval`に黄色の下線が表示され、
|
20
|
+
|
21
|
+
マウスを乗せると、
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
`eval can be harmful`
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
という警告が出ると思います。
|
30
|
+
|
19
31
|
|
20
32
|
|
21
33
|
---
|
1
テキスト修正
test
CHANGED
@@ -15,3 +15,17 @@
|
|
15
15
|
|
16
16
|
|
17
17
|
ただし、`eval`を濫用するのはバグのもとです。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
---
|
22
|
+
|
23
|
+
追記
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
以下にも、 **必要以上に eval を使用しないで! **との注記があります。
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
[https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/eval](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/eval)
|