我想实现一个接口,但我很难获得正确的语法。
接口我想实现
interface Test {
[name : string] : (source : string) => void;
}
如果我理解这一点,那么界面基本上是一个对象,其中字符串作为键,并且作为值起作用。
非常感谢任何帮助。
编辑:我收到了几个错误,“界面实现不正确”,“缺少索引签名”等,
游乐场示例: Link
我没有实现接口,它来自sdk
答案 0 :(得分:1)
只需将索引签名添加到类中:
interface Test {
[name: string]: (source: string) => void;
}
class TestClass implements Test {
[name: string]: (source: string) => void; // Add this
getLastName(source: string) {
console.log("test");
}
}
答案 1 :(得分:0)
我认为类不能实现这样的接口。
这更像是一个“打字对象”界面。
你可以输入一个对象来指定它应该有一个字符串作为键,一个函数接受一个字符串并且不返回任何值作为值。
像这样:
let myObj: Test = {
test: (source: string) => { console.log('function returning void'); }
};