【发布时间】:2020-10-01 08:32:00
【问题描述】:
Typescript 让我可以像这样在方法签名上设置索引类型:
function myFunc(dict: { [x: string]: string }) {
...
}
所以这个函数将只接受具有string 索引和string 值的对象——类似于C# 中的Dictionary<string, string>。我可以进一步限制这一点,以便只接受具有 single 字符串键和字符串值的对象吗?
即这样
const a = {
x: 'val'
};
有效,但是
const b = {
x: 'val1',
y: 'val2'
};
不是吗?
显然我可以检查Object.keys() 的长度,但如果编译器可以强制执行它会很好。
【问题讨论】:
-
您确定要使用字典吗?当有任何数量的属性事先不知道名称时,就会使用字典。也许
function myFunc(key: string, value: string)也能做到这一点?
标签: typescript