为啥ts报错Type 'number' is not assignable to type '3' ?
小白初学ts 有些迷糊1.这个类型这么写为什么会报错 2.type3 是个什么类型 为什么能传3。泛型不是传个类型吗。传number/string这种类型能理解,为什么还能传个具体值?3.就按这种思路能实现这个类型吗
回复
1个回答
test
2024-07-10
as const
一下即可const T: toFixLengthTuple<string, 3> = ['a', 'b', 'c'] as const
3
这个也是类型,TS 里面字面量可以作为类型的。type version = 1 | 2
还有字符串字面量类型也很常用:
type State = 'succeeded' | 'failed' | 'pending' | 'timeout' let state: State = 'pending' // 这里就有代码补全了 // ... switch (state) { case: 'succeeded': // ... 这也有补全,而且可以类型收窄 }
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容