TypeScript中的泛型使它们变得有用

时间:2017-03-05 01:07:55

标签: javascript node.js generics typescript typescript2.0

我正在阅读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类型的事实不能解决所有问题?

2 个答案:

答案 0 :(得分:1)

  

是什么语法?我相信这是针对仿制药,但我并不真正理解其目的。

对于仿制药确实如此。泛型的目的是确保值之间的约束。

在标识函数中,强制执行的约束是从函数返回的值与作为参数传入的类型相同。

更多https://basarat.gitbooks.io/typescript/content/docs/types/generics.html

答案 1 :(得分:0)

没关系,这很好地解释了它!

https://www.typescriptlang.org/docs/handbook/generics.html

似乎<T>是声明变量类型所必需的。但是,我不这是一个很好的做法。可能更好地定义一个interace而不是一个完全通用的类型变量。