如何解决有没有一种方法可以在TypeScript中强制使用确切的类型别名?
我想在TypeScript中对命名/别名类型强制执行精确的类型匹配,以使编译器捕获类似于下面test()
的最后一行的错误。
(类似于Go如何允许对用户定义的标量类型进行类型检查)
这可能吗?
例如,有人知道是否以及如何为ESLint编写自定义规则来实现这一目标?
type AdminId = number
type UserId = number
function getAdminName(adminId: AdminId): string {
return 'an admin name'
}
function getUserName(userId: UserId): string {
return 'a user name'
}
function test() {
let userId: UserId = 1
let adminId: AdminId = 1
getUserName(userId)
getAdminName(userId) // I would like the compiler or linter to catch this as a type error
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。