在ts中,为什么用type定义的类型可以用implements实现?
一直认为implements只能实现interface,今天看到某个开源项目,prisma+nest,通过prisma的类型来定义entity,发现type也能实现,type不是仅仅是一个类型别名吗?
回复
1个回答
test
2024-06-23
在 TS 中,implements操作只是为class提供一种类型约束,没有其他作用,所以,主要是符合class结构的类型都是可以被implements的。所以除了interface之外,type也可以进行implements。但因为 JS 中引入class是照着 OOP 来做的,所以在需要implements时,使用interface有更强的语意性。
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容