一文学懂TypeScript的类型
发布时间:2019-03-22 20:40:47 所属栏目:优化 来源:疯狂的技术宅
导读:你将学到什么 阅读本文后,你应该能够理解以下代码的含义: interfaceArrayT{ concat(...items:ArrayT[]|T):T[]; reduceU( callback:(state:U,element:T,index:number,array:T[])=U, firstState?:U):U; } 如果你认为这段代码非常神秘 那么我同意你的意见。
你可以看到类型参数 T 在 Stack 的主体内出现两次。因此,该接口可以直观地理解如下:
如果使用 Stack,则必须为 T 指定一个类型。以下代码显示了一个虚拟栈,其唯一目的是匹配接口。
例子:map map 在 TypeScript 中的定义。例如:
函数的类型变量 函数(和方法)也可以引入类型变量:
你可以按以下方式使用此功能。
由于类型推断,还可以省略类型参数:
传递类型参数 函数可以将其她的类型参数传给接口、类等:
类型变量 T 在这段代码中出现三次:
这意味着:我们不必显式指定Array<T>的类型 T —— 它是从参数 elem中推断出来的:
总结 让我们用前面学到的知识来理解最开始看到的那段代码:
这是一个Array的接口,其元素类型为 T,每当使用这个接口时必须填写它:
callback 还将获得一个 element 参数,其类型与 Array 元素具有相同的类型 T,参数 index 是一个数字,参数 array 是 T 的值。 【责任编辑:庞桂玉 TEL:(010)68476606】点赞 0 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |