質問するログイン新規登録

回答編集履歴

2

コメントを受けて追記

2017/12/08 03:51

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア37595

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

脱字

2017/12/08 03:51

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア37595

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  クラス変数のないjavascriptで静的メソッドやクラスメソッドを使うメリットはほとんどなさそうな気がします。
2
2
 
3
- 一方でデメリットもあまりないとますが、質問のコードのようにメソッド内でクラス名を直書きするのは、継承でバグを生みやすくなりそうな気がします。
3
+ 一方でデメリットもあまりないと思いますが、質問のコードのようにメソッド内でクラス名を直書きするのは、継承でバグを生みやすくなりそうな気がします。
4
4
  ```javascript
5
5
  class Example {
6
6
  constructor(number) {