cen*_*eth 5 javascript typescript
我试图从静态方法中检索类名.它适用于普通方法,但不适用于静态方法
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"
Run Code Online (Sandbox Code Playgroud)
我忘了告诉它:它应该适用于MyNode的派生类.
现在你可以使用了 this.name
小智 5
请检查以下解决方案:
class MyNode{
constructor(){
var classname=this.constructor.toString().split ('(' || /s+/)[0].split (' ' || /s+/)[1];
console.log(classname);
}
static a_static_method(){
var classname = this.toString().split ('(' || /s+/)[0].split (' ' || /s+/)[1];
console.log(classname);
}
}
Run Code Online (Sandbox Code Playgroud)
在派生类中,您将获得该类的名称,而不是 MyNode
| 归档时间: |
|
| 查看次数: |
4734 次 |
| 最近记录: |