javascript - 打字稿泛型或在变量上声明类型
问题描述
我刚开始学习 Typescript,有一点我不明白。有什么区别:
(声明变量的类型)
function func1 (arg: any): any {
return arg
}
let var1: string = func1(“Hello”)
和
(使用泛型)
function func2 <T>(arg: T): T {
return arg
}
let var2 = func2<string>(“Hello”)
我曾尝试搜索类似的报价,但没有运气。
解决方案
在您使用泛型的第二个示例中,如果在编译时已知该类型,则会保留该类型。
例如:
let x = 27; // x is a number
let y = func2(x); // y is inferred to be a number at compile time
any
告诉 TypeScript 编译器可以传递或返回任何东西func
——它们不必匹配。
推荐阅读
- json - 在 Flutter/Dart 中将 json 列表作为 Dio Post 方法的标头参数传递
- c# - 从字典中提取键值对
- powerbi - Power BI - 在小计中隐藏行
- android - kotlin android 应用程序中的 Hilt 注入问题 - [Hilt] 处理未完成。有关详细信息,请参阅上面的错误。错误:[Hilt]
- python - ValueError: 无法将输入数组从形状 (x,y) 广播到形状 (x-1, y) 对于形状定义为相同变量的数组
- r-markdown - rmarkdown 当我在循环中打印表格时将“正在加载 [MathJax]/extensions/MathZoom.js”添加到我的 pdf
- r - 将数值向量更改为特定日期
- r - 单个csv(在文件列表中)和R中数据框的渐进列之间的内部连接
- c# - 使用 EFCore.BulkExtensions 时如何避免向 db 添加重复数据?
- android - 在 Pixel 3A 设备上使用 mediacodec android 将 ARGB_8888 位图编码为视频文件失败