gpt4 book ai didi

javascript - 如何实现一个没有名字的接口(interface)成员?

转载 作者:行者123 更新时间:2023-11-28 18:11:16 26 4
gpt4 key购买 nike

我有一个像这样的界面(这是有效的 TypeScript)

interface IPerson {
(name: string, age: number): IPerson,
getSomething(): string
}

我试图在类里面实现:

class Person implements IPerson {
constructor(private something: string) {

}

getSomething(): string {
return this.something;
}
}

如何实现 (name: string,age: number): IPerson 成员?

最佳答案

您发布的界面描述了一个具有特定签名的函数,该函数还有一个名为 getSomething 的附加方法。
在描述为 Hybrid Types 的文档中.

我认为没有办法创建一个实现它的类,您基本上只需要一个工厂函数来创建实现该接口(interface)的实例:

function createPerson(name: string, age: number): IPerson {
let person = function(newName: string, newAge: number) {
return createPerson(newName, newAge);
} as IPerson;
person.getSomething = function () {
return `${ name }: ${ age }`;
}

return person;
}

( code in playground )

虽然这是一个奇怪的定义。

关于javascript - 如何实现一个没有名字的接口(interface)成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41486155/

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