回答編集履歴

2

コメントを受けて追記

2017/12/08 03:51

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア36113

test CHANGED
@@ -55,3 +55,67 @@
55
55
  `this.constructor`からたどったほうがいいのではないかな、と。
56
56
 
57
57
  クラスへの参照があれば楽でいいんですけどねえ。
58
+
59
+  
60
+
61
+ # コメントを受けて追記
62
+
63
+
64
+
65
+ いえいえ、こんな書き方をすれば継承でも使えると思いますよ。
66
+
67
+ ```javascript
68
+
69
+ class Example {
70
+
71
+ constructor(number) {
72
+
73
+ this.number = number;
74
+
75
+ }
76
+
77
+
78
+
79
+ get cls_(){
80
+
81
+ return this.constructor;
82
+
83
+ }
84
+
85
+
86
+
87
+ a() {
88
+
89
+ return this.cls_.b(this.number);
90
+
91
+ }
92
+
93
+
94
+
95
+ static b(number) {
96
+
97
+ return number * 2;
98
+
99
+ }
100
+
101
+ }
102
+
103
+
104
+
105
+ class Example2 extends Example {
106
+
107
+ static b(number) {
108
+
109
+ return number * 3;
110
+
111
+ }
112
+
113
+ }
114
+
115
+
116
+
117
+ const example = new Example2(2);
118
+
119
+ return example.a()//6;
120
+
121
+ ```

1

脱字

2017/12/08 03:51

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア36113

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 一方でデメリットもあまりないとますが、質問のコードのようにメソッド内でクラス名を直書きするのは、継承でバグを生みやすくなりそうな気がします。
5
+ 一方でデメリットもあまりないと思いますが、質問のコードのようにメソッド内でクラス名を直書きするのは、継承でバグを生みやすくなりそうな気がします。
6
6
 
7
7
  ```javascript
8
8