我很好奇 typescript 4.1 中新的模板文字支持是否可以实现以下功能:
export type LogDateType = `${number}.${number}.${number}` | `${number}.${number}` | `${number}`
我发现如果我正在对 2002
或 2002.5.12
这样的字符串进行类型检查,但在进行类型检查时会失败,例如:
`${fourDigitYear}`
出现错误 Type 'string' is not assignable to type 'LogDateType'。
有没有办法在检查纯字符串之外进行这项工作?
最佳答案
断言为 const
export type LogDateType = `${number}.${number}.${number}` | `${number}.${number}` | `${number}`
const fourDigitYear = "2000";
const foo: LogDateType = `${fourDigitYear}` as const;
关于typescript - 模板文字类型检查模板文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66464355/