小编cen*_*eth的帖子

从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的派生类.

javascript typescript

5
推荐指数
2
解决办法
4734
查看次数

在胖箭头方法中添加返回类型信息

我搜索了所有可能的方法,但我无法弄清楚如何组合返回类型注释和胖箭头语法.

class BasicCalculator{
    value:number;
    constructor(value:number=0){
        this.value=value;
    }
    add= (operand:number)=>{ // CAVEAT how to add return type???
        this.value+=operand;
        return this;
    }
    subtract= (operand:number)=>{
        this.value-=operand;
        return this;
    }
    multiply= (operand:number)=>{
        this.value*=operand;
        return this;
    }
    divide= (operand:number)=>{
        this.value/=operand;
        return this;
    }
}
Run Code Online (Sandbox Code Playgroud)

我试过了:

add= (operand:number)=>number { ....
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

typescript

2
推荐指数
1
解决办法
1101
查看次数

标签 统计

typescript ×2

javascript ×1