微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 在typescript中使用像angularname()这样的尖括号有什么用

如果有任何教程可以帮助我,为什么我们使用尖括号<>在类型脚本中,例如我在这里给出了一些代码,我需要解释.

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");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐