我想创建一个对象类型UiPrefixed
,其中对象中的所有键都必须以/^ui:.+/
为前缀,这可能吗?
type UiPrefixed = {
[`ui:*`]: any
}
const e: UiPrefixed = {
'ui:meow': true,
'ui:woof': true
}
是。这是模板文字类型可以派上用场的场景之一:ui:${string}
:
type UiPrefixed = {
[key: `ui:${string}`]: any
}
const e: UiPrefixed = {
'ui:meow': true,
'ui:woof': true
}
请参阅TypeScript游乐场上的概念验证。