Javascript 带有TypeScript的ExtJS,未捕获错误
我正在试用Sencha ExtJS的TypeScript:Javascript 带有TypeScript的ExtJS,未捕获错误,javascript,extjs,typescript,Javascript,Extjs,Typescript,我正在试用Sencha ExtJS的TypeScript: /// <reference path="../ExtJS.d.ts" /> Ext.define("CompanyGridPanel", <Ext.grid.IPanel>{ extend: "Ext.grid.Panel", config: { companyStore: null }, initComponent: function () {
/// <reference path="../ExtJS.d.ts" />
Ext.define("CompanyGridPanel", <Ext.grid.IPanel>{
extend: "Ext.grid.Panel",
config: {
companyStore: null
},
initComponent: function () {
this.myFunction(10, 52);
return this.callParent(arguments);
},
myFunction : (a:number, b:Ext.IPanel, ...args) => {
}
});
函数MyFunction接受Ext.IPanel类型的对象作为第二个参数,但用number调用。TS编译器没有捕捉到这个错误,但WebStorm IDE确实正确捕捉到了它
为什么他们抓不到它,怎么能把它修好
使用ExtJS 4.2和TS 0.9.5.0.TypeScript编译器将尝试根据函数调用推断问题b:Ext.IPanel中对象的类型 考虑以下代码:TypeScript将推断变量foo是一个字符串,因为getValue函数的返回值是一个字符串,因此变量foo将成为一个字符串 在上面的示例中,这个.myFunction10,52成功了,因为编译器能够将Ext.IPanel匹配到一个数字,从而推断b是一个数字
class Test {
constructor() {
var foo = getValue();
}
getValue() {
return "bar";
}
}