gpt4 book ai didi

javascript - 即使具有相同的数据类型,也无法使用数据属性扩展 Typescript 中的接口(interface)

转载 作者:行者123 更新时间:2023-11-30 17:39:45 25 4
gpt4 key购买 nike

我对 Typescript(使用 Visual Studio 2012 和 TypeScript v0.9.5)有一个奇怪的问题,希望有人能解决。

下面的代码工作正常:

interface IA {
data: any;
}

interface IB {
data: any;
}

interface IC extends IA, IB { }

但是,当按如下方式使用 JQueryEventObject 的声明时:

interface JQueryEventObject extends BaseJQueryEventObject, 
JQueryInputEventObject, JQueryMouseEventObject, JQueryKeyEventObject,
JQueryPopStateEventObject { }

BaseJQueryEventObject 声明在哪里:

interface BaseJQueryEventObject extends Event {
data: any;
delegateTarget: Element;
isDefaultPrevented(): boolean;
isImmediatePropogationStopped(): boolean;
...
}

当我尝试这样做时:

interface IMyInterface {
data: any;
}

interface IMyCombinedInterface extends JQueryEventObject, IMyInterface { }

它提示以下消息:

接口(interface) IMyCombinedInterface 不能同时扩展类型 JQueryEventObjectIMyInterface: 类型的属性 data 的类型JQueryEventObjectIMyInterface 不相同。

有人知道我做错了什么或者这是一个错误吗?

最佳答案

以下使用最新的 TypeScript (1.5) + IDE 编译正常,没有显示任何错误:

interface JQueryEventObject extends BaseJQueryEventObject,
JQueryInputEventObject, JQueryMouseEventObject, JQueryKeyEventObject { }{ }

interface IMyInterface {
data: any;
}

interface IMyCombinedInterface extends JQueryEventObject, IMyInterface { }

所以

是一个错误,但已被修复。

关于javascript - 即使具有相同的数据类型,也无法使用数据属性扩展 Typescript 中的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21338110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com