回答編集履歴

16

テキスト修正

2018/02/08 22:14

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
 
24
24
 
25
- 上記を使って、プロパティ`a`を表示するコード例を、以下に作成してみました。
25
+ これを使って、プロパティ`a`を表示するコード例を、以下に作成してみました。
26
26
 
27
27
 
28
28
 

15

テキスト修正

2018/02/08 22:14

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -50,7 +50,7 @@
50
50
 
51
51
 
52
52
 
53
- 以下のMDNの `eval()` の説明
53
+ MDNの `eval()` の説明
54
54
 
55
55
 
56
56
 

14

テキスト修正

2018/02/08 22:01

投稿

jun68ykt
jun68ykt

スコア9058

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
- また、以下のMDNの `eval()` の説明
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

テキスト修正

2018/02/08 21:54

投稿

jun68ykt
jun68ykt

スコア9058

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
- という警告が出ることがありすし、以下のMDNの `eval()` の説明
59
+ 、以下のMDNの `eval()` の説明
64
60
 
65
61
 
66
62
 

12

テキスト修正

2018/02/08 21:45

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -30,9 +30,19 @@
30
30
 
31
31
 
32
32
 
33
- 上記では2つ目の`console.log()` でも、 右下のConsole に `A` が
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

テキスト修正

2018/02/08 21:40

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
File without changes

10

テキスト修正

2018/02/08 21:35

投稿

jun68ykt
jun68ykt

スコア9058

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

テキスト修正

2018/02/08 21:27

投稿

jun68ykt
jun68ykt

スコア9058

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

テキスト修正

2018/02/08 21:25

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -2,15 +2,21 @@
2
2
 
3
3
 
4
4
 
5
- 以下のコード
5
+ `eval()` を使えばできます。
6
6
 
7
7
 
8
8
 
9
- [https://jsfiddle.net/jun68ykt/swro4auf/](https://jsfiddle.net/jun68ykt/swro4auf/)
9
+ たとえば、以下のコード
10
10
 
11
11
 
12
12
 
13
+ [https://jsfiddle.net/jun68ykt/swro4auf/1/](https://jsfiddle.net/jun68ykt/swro4auf/1/)
14
+
15
+
16
+
13
- のように `eval()`を使えば 、2つ目の`alert()` でも `A` が表示されると思います。
17
+ では、2つ目の`console.log()` でも 右下のConsole に `A` が
18
+
19
+ 表示されているのを確認できると思います。
14
20
 
15
21
 
16
22
 

7

テキスト修正

2018/02/08 13:55

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -18,7 +18,9 @@
18
18
 
19
19
 
20
20
 
21
- 上記の jsfiddle で `eval()`を使ったコードを書くと、
21
+ jsfiddle で `eval()`を使ったコードを書くと、 `eval`の下に黄色い下線が表示され、
22
+
23
+ そこにマウスを乗せると
22
24
 
23
25
 
24
26
 

6

テキスト修正

2018/02/08 13:45

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- 上記の jsfiddle で `eval()`に黄色の下線が表示され、マウス乗せると、
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

テキスト修正

2018/02/08 13:44

投稿

jun68ykt
jun68ykt

スコア9058

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

テキスト修正

2018/02/08 13:39

投稿

jun68ykt
jun68ykt

スコア9058

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

テキスト修正

2018/02/08 13:26

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- 、2つ目の`alert` でも `A` が表示されると思います。
13
+ のように `eval`を使えば 、2つ目の`alert` でも `A` が表示されると思います。
14
14
 
15
15
 
16
16
 

2

テキスト修正

2018/02/08 13:24

投稿

jun68ykt
jun68ykt

スコア9058

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

テキスト修正

2018/02/08 13:22

投稿

jun68ykt
jun68ykt

スコア9058

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)