如果有任何教程可以帮助我,为什么我们使用尖括号<>在类型脚本中,例如我在这里给出了一些代码,我需要解释.
export class HomePage {
constructor(public navCtrl: NavController) {
let a = this.testfunc<boolean>(4);
console.log(a);
}
testfunc<T>(s) {
return s;
}
}
谢谢
解决方法:
这些表示generics.testfunc< T>(s){return s; }表示testfunc接受泛型类型参数T. testfunc< boolean>(4)为该类型参数提供类型参数(boolean).在该示例中,由于testfunc不使用T,因此它没有做太多任何事情,但请考虑:
function foo(arg: string) {
let numbers: Array<number> = [];
numbers[0] = arg; // Error: Type 'string' is not assignable to type 'number'.
}
将数字声明为数字数组.由于arg是一个字符串,你不能做数字[0] = arg.
与之比较:
function foo<T>(arg: T) {
let numbers: Array<T> = [];
numbers[0] = arg; // Error
}
现在,foo不知道包含哪些数字,只是它包含的任何内容都与arg的类型相匹配.所以这两个调用都是有效的:
foo<number>(4);
foo<string>("bar");
我在这些调用中包含了类型参数以强调,但TypeScript可以在很多时候推断它们:
foo(4);
foo("bar");
原文地址:https://codeday.me/bug/20190731/1586512.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。