typescript中,加入有一个函数是foo(store,key),如何编写类型定义,让key只能传递store里面的字段,并且值类型必须是string?
时间: 2023-03-31 15:04:46 浏览: 81
可以这样编写类型定义:
```
type Store = {
[key: string]: string;
}
function foo(store: Store, key: keyof Store): void {
// 函数体
}
```
其中,`Store` 是一个类型别名,表示一个对象,它的键是字符串类型,值是字符串类型。`keyof Store` 表示 `Store` 对象的所有键的联合类型,也就是说,`key` 参数只能传递 `Store` 对象中的键,而且值类型必须是字符串类型。
阅读全文