回答編集履歴

2

軽微な変更

2019/04/24 07:46

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア36898

test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  ### 質問の編集にあわせて追記
40
40
 
41
- 元になるモジュールなどが不明のため、それらは全然違うものだからという回答になってしまうかと思います。(なお、アロー式ではなく関数式とのことなので、`this`はグローバルオブジェクトになりません)
41
+ 元になるモジュールなどが不明のため、それらは全然違うものだからという回答になってしまうかと思います。(なお、アロー式ではなく関数式とのことなので、`this`はグローバルオブジェクトになりません)
42
42
 
43
43
 
44
44
 

1

質問の編集にあわせて追記

2019/04/24 07:46

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア36898

test CHANGED
@@ -33,3 +33,61 @@
33
33
  枝葉を払ってみたところ、thisはグローバルオブジェクトでした。
34
34
 
35
35
  なので、ご提示のコードだけではthisが何であるかはわからないと思います。
36
+
37
+
38
+
39
+ ### 質問の編集にあわせて追記
40
+
41
+ 元になるモジュールなどが不明のため、それらは全然違うものだから、という回答になってしまうかと思います。(なお、アロー式ではなく関数式とのことなので、`this`はグローバルオブジェクトになりません)
42
+
43
+
44
+
45
+ ```js
46
+
47
+ var obj = {
48
+
49
+ value: 0,
50
+
51
+ method: function(){}
52
+
53
+ }
54
+
55
+
56
+
57
+ var sendToMethod = function(f){
58
+
59
+ obj.method = f;
60
+
61
+ obj.method();
62
+
63
+ }
64
+
65
+
66
+
67
+ function main(){
68
+
69
+ let value = 100;
70
+
71
+ sendToMethod(function(){
72
+
73
+ this.value = 1;
74
+
75
+ });
76
+
77
+ console.log(value); // 100
78
+
79
+ console.log(this.value); // undefined
80
+
81
+ console.log(obj.value); // 1
82
+
83
+ }
84
+
85
+
86
+
87
+ main();
88
+
89
+ ```
90
+
91
+
92
+
93
+ 補足いただいた「メリットは特に見当たらない」とお考えになる理由をお示しいただけますと、もう少しお役に立てる回答ができるかもしれません。