Javascript 此类型的TypeScript泛型
为什么TypeScript(2.1.0)抱怨以下代码Javascript 此类型的TypeScript泛型,javascript,typescript,Javascript,Typescript,为什么TypeScript(2.1.0)抱怨以下代码 import Request from "../request/request.ts"; export default class Machine{ private id: number; private url:string; private make:string; private model:string; private request:any; constructor(){ var self = th
import Request from "../request/request.ts";
export default class Machine{
private id: number;
private url:string;
private make:string;
private model:string;
private request:any;
constructor(){
var self = this;
this.request = new Request<self>(this.url); //cannot find name self
}
}
从“./Request/Request.ts”导入请求;
导出默认类计算机{
私人id:号码;
私有url:string;
私人制作:字符串;
私有模型:字符串;
私人要求:任何;
构造函数(){
var self=这个;
this.request=新请求(this.url);//找不到名称self
}
}
这行代码(从self
更改为This
):
这行代码(从self
更改为This
):
编译器不推断self的类型是一个bug吗?有什么理由不应该这样做吗?不,这不是一个bug,
self
是一个变量,但是你放在泛型类型中的应该是一个类型,所以它不工作,但是typeof self
工作。编译器不推断self的类型是一个bug吗?有什么理由不应该这样做吗?不,这不是一个bug,self
是一个变量,但是你放在泛型类型中的应该是一个类型,所以它不起作用,但是typeof self
起作用。
this.request = new Request<this>(this.url);
this.request = new Request<typeof self>(this.url);