回答
你不能改变的功能PARAM类型,但你可以投(type assert)你传递给它的参数去any
:
function fn(obj: string) {
...
}
fn(1 as any);
但是你可以使函数更通用:
function fn(obj: string | number) {
...
}
fn(1);
fn("str");
您也可以使用泛型:
function fn<T>(obj: T) {
...
}
fn(1);
fn("str");
单词“cast”无处可见于TS文档或规格中。 – 2016-08-17 03:24:49
@torazaburo来自[基本类型](https://www.typescriptlang.org/docs/handbook/basic-types.html):''类型断言就像其他语言中的类型转换,但不执行特殊检查或重组数据“。 –
冒着迂腐的风险,这个引用最好解释为在TypeScript中我们做**而不是**使用术语“投射”。在其他语言中使用的“Cast”通常意味着我**强制更改**类型,例如,将整数转换为C中的指针。从这种意义上讲,CastScript不可能在TypeScript中使用,其中'
- 1. One Typescript函数参数 - 可选类型?
- 2. void作为TypeScript中泛型函数的参数的类型
- 3. TypeScript使用类型参数
- 4. Typescript多种类型参数
- 5. Typescript - 递归函数类型
- 6. Typescript - 高阶函数类型
- 7. JSX节点中的TypeScript类型参数
- 8. TypeScript中的函数类型警卫
- 9. TypeScript泛型和函数参数
- 10. 如果参数类型可转换,Cast函数类型会有所不同
- 11. TypeScript:可变类函数的类型
- 12. 使用TypeScript指定函数参数的类型
- 13. 函数参数中的C++类类型
- 14. TypeScript类型函数参数接受任何
- 15. TypeScript返回参数的类型
- 16. TypeScript:类型的参数不可分配
- 17. typescript - 类型'数字'的参数不能分配给'string'类型的参数
- 18. TypeScript:函数类型之间的区别
- 19. TypeScript交集类型的函数
- 20. SQL,CONVERT,CAST数据类型?
- 21. Swift中的函数参数类型
- 22. typescript可选参数类型检查
- 23. 函数参数类型
- 24. typescript,类型'xxx'的参数不能分配给'string'类型的参数
- 25. 在TypeScript中,为什么不能将参数化函数分配给无参数函数类型?
- 26. 具有可变数量/参数类型的函数的TypeScript声明文件
- 27. 具有可变参数计数的函数的TypeScript类型签名
- 28. 在TypeScript中使用不同参数类型覆盖函数的正确方法
- 29. 在TypeScript中映射泛型函数中的映射类型
- 30. 泛型类没有泛型函数中的类型参数
在TS,你不能 “强行改变” 的任何类型。你可以做的是告诉编译器,它应该**将特定值视为特定类型。这就是所谓的“类型断言”。 – 2016-08-17 03:25:46