我正在阅读打字稿中的泛型。甚至没有意识到他们在那里:
var list: number[] = [1, 2, 3];
// Alternatively, using the generic array type
var list: Array<number> = [1, 2, 3];
这让我很好奇我是否说过:
var list = [1,2,3]
Typescript会推断出类型,如果是,它会推断出什么类型。所以我想知道我是否有办法让Typescript向我展示一个变量的类型。
答案 0 :(得分:2)
检查Microsoft Visual Studio代码 - 它是一个小编辑器,对Typescript非常有用。对Typescript有最好的支持。如果将鼠标悬停在变量上,它将自动告诉您类型。
默认情况下,Typescript编译器尽可能地尝试帮助,所以如果您要设置变量,如:
let abc = 'ABC';
您不必指定类型(它会自动检测到这是一个字符串)。对于数组泛型,它有点复杂,它将遍历数组中的所有键,选择每个键类型。例如,您可以:
let test = ['test', 123];
此数组将输入Array<string|number>
Web工具对于快速检查非常有用,但如果您处理较大的项目,则无法将文件复制并粘贴到浏览器窗口中。 PHPStorm / WebStorm有很好的TS支持,但遗憾的是它不会告诉你变量类型 - Microsoft Visual Studio Code会做。
关于VisualStudioCode的一个好处 - &gt;它是免费的,写在Typescript;)
答案 1 :(得分:1)
此功能通常可通过您的开发工具获得(意见各不相同,但有几种可供免费下载)。在许多情况下,包括这个,您可以通过查看所分配的内容来确定类型(此处,类型为number[]
,如您所料。
如果您在尝试时使用纯文本编辑器,则可以将代码粘贴到&#34; Playground&#34; TypeScript网站的一部分 - 例如here's your code,通过将鼠标悬停在list
上,您可以看到其类型为number[]
。
请注意,类型在typescript中被删除,因此您无法在运行时确定泛型的类型,您必须传入构造函数(因为您在Java中进行编码,这应该是熟悉的。)