回答編集履歴
2
コメントを受けて追記
answer
CHANGED
@@ -26,4 +26,36 @@
|
|
26
26
|
|
27
27
|
```
|
28
28
|
`this.constructor`からたどったほうがいいのではないかな、と。
|
29
|
-
クラスへの参照があれば楽でいいんですけどねえ。
|
29
|
+
クラスへの参照があれば楽でいいんですけどねえ。
|
30
|
+
|
31
|
+
# コメントを受けて追記
|
32
|
+
|
33
|
+
いえいえ、こんな書き方をすれば継承でも使えると思いますよ。
|
34
|
+
```javascript
|
35
|
+
class Example {
|
36
|
+
constructor(number) {
|
37
|
+
this.number = number;
|
38
|
+
}
|
39
|
+
|
40
|
+
get cls_(){
|
41
|
+
return this.constructor;
|
42
|
+
}
|
43
|
+
|
44
|
+
a() {
|
45
|
+
return this.cls_.b(this.number);
|
46
|
+
}
|
47
|
+
|
48
|
+
static b(number) {
|
49
|
+
return number * 2;
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
class Example2 extends Example {
|
54
|
+
static b(number) {
|
55
|
+
return number * 3;
|
56
|
+
}
|
57
|
+
}
|
58
|
+
|
59
|
+
const example = new Example2(2);
|
60
|
+
return example.a()//6;
|
61
|
+
```
|
1
脱字
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
クラス変数のないjavascriptで静的メソッドやクラスメソッドを使うメリットはほとんどなさそうな気がします。
|
2
2
|
|
3
|
-
一方でデメリットもあまりないとますが、質問のコードのようにメソッド内でクラス名を直書きするのは、継承でバグを生みやすくなりそうな気がします。
|
3
|
+
一方でデメリットもあまりないと思いますが、質問のコードのようにメソッド内でクラス名を直書きするのは、継承でバグを生みやすくなりそうな気がします。
|
4
4
|
```javascript
|
5
5
|
class Example {
|
6
6
|
constructor(number) {
|