typescript - 模板文字类型检查模板文字

标签 typescript

我很好奇 typescript 4.1 中新的模板文字支持是否可以实现以下功能:

export type LogDateType = `${number}.${number}.${number}` | `${number}.${number}` | `${number}`

我发现如果我正在对 20022002.5.12 这样的字符串进行类型检查,但在进行类型检查时会失败,例如:

`${fourDigitYear}`

出现错误 Type 'string' is not assignable to type 'LogDateType'。

有没有办法在检查纯字符串之外进行这项工作?

最佳答案

问题:#41732#41631

断言为 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/

相关文章:

angular - 加密和解密本地存储值

javascript - 如何在Angular表单中连续设置两个输入字段

javascript - 如何在 typescript 中突出显示选项卡菜单中的事件选项卡

javascript - 不要滚动元素调整大小

angular - 如何使用 TypeScript 4.1.2 在 Angular 6 中绑定(bind) img src

forms - Angular2 - 访问验证指令中的 AbstractControl 实例

javascript - 返回作为参数提供的函数时保留类型签名

angular - 浏览器后退按钮默认行为在停止传播时仍在执行

angular - 如何获取 firestore 时间戳

javascript - webpack: "[ERR_REQUIRE_ESM]: Must use import to load ES Module"- 但我正在使用导入!