gpt4 book ai didi

typescript - 使用部分接口(interface)创建对象。 typescript

转载 作者:搜寻专家 更新时间:2023-10-30 22:02:20 25 4
gpt4 key购买 nike

我有问题,请帮忙。

我们有两个接口(interface):

interface IUserEntity {
Id: number;
FirstName: string;
LastName: string;
}

interface IUserEntityMethods {
GetFullName(): string;
}

我想创建一个类型为 IUserEntityMethods 的对象,但在方法 GetFullName 中通过 this 在 Webstorm 中(例如)放弃了自动完成功能,能够使用接口(interface) IUserEntity 的属性。

我最终想得到的是什么:

var userEntityMethods: IUserEntityMethods = {
GetFullName: function() {
return this.FirstName + " " + this.LastName; // We have no errors at this line.
}
}

这可能吗?或者还有其他选择吗?

最佳答案

我不确定你为什么将属性中的方法分成两个接口(interface),但基本上你需要做的就是让一个扩展另一个,就像这样:

interface IUserEntity {
Id: number;
FirstName: string;
LastName: string;
}

interface IUserEntityMethods extends IUserEntity {
GetFullName(): string;
}

IUserEntityMethods 的实例应该有方法和属性。
但是你需要在具体实例中使用它们:

var userEntityMethods: IUserEntityMethods = {
Id: A_NUMBER,
FirstName: A_STRING,
LastName: A_STRING,
GetFullName: function() {
return this.FirstName + " " + this.LastName;
}
}

关于typescript - 使用部分接口(interface)创建对象。 typescript ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36730275/

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