我正在阅读Eric Elliot的这篇文章:
“你可能不需要TypeScript(或静态类型)”@_ericelliott https://medium.com/javascript-scene/you-might-not-need-typescript-or-static-types-aa7cb670a77b
他谈到了这个TS功能
function identity<T>(arg: T): T {
return arg;
}
<T>
语法是什么?我相信这是针对仿制药,但我并不真正理解其目的。
为什么arg
被声明为T
类型的事实不能解决所有问题?
答案 0 :(得分:1)
是什么语法?我相信这是针对仿制药,但我并不真正理解其目的。
对于仿制药确实如此。泛型的目的是确保值之间的约束。
在标识函数中,强制执行的约束是从函数返回的值与作为参数传入的类型相同。
更多https://basarat.gitbooks.io/typescript/content/docs/types/generics.html
答案 1 :(得分:0)
没关系,这很好地解释了它!
https://www.typescriptlang.org/docs/handbook/generics.html
似乎<T>
是声明变量类型所必需的。但是,我不这是一个很好的做法。可能更好地定义一个interace而不是一个完全通用的类型变量。