Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有TypeScript的ExtJS,未捕获错误_Javascript_Extjs_Typescript - Fatal编程技术网

Javascript 带有TypeScript的ExtJS,未捕获错误

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 () {

我正在试用Sencha ExtJS的TypeScript:

/// <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";
   }
}