静的メソッド内からクラス名を取得しようとしています。それはではなく、私が言うのを忘れて、静的メソッドタイプスクリプト内の静的メソッド内からクラス名を取得します
class MyNode{
constructor(){
var classname=this.constructor.toString().split ('(' || /s+/)[0].split (' ' || /s+/)[1];
console.log(classname);
}
static a_static_method(){
var classname=this.constructor.toString().split ('(' || /s+/)[0].split (' ' || /s+/)[1];
console.log(classname);
}
}
var obj=new MyNode(); // THIS WORKS, prints "MyNode"
MyNode.a_static_method(); // THIS DOESN'T, prints "Function"
内から通常の方法で動作します。それはMYNODEの派生クラスのために働く必要があります。
を使用することができます非静的メソッドでは、 '代わりにその長い正規表現のthis.constructor.name'を使用することができます –