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

相关文章

我最大的一个关于TypeScript的问题是,它将原型的所有方法(无...
我对React很新,我正在尝试理解子组件之间相互通信的简洁方法...
我有一个非常简单的表单,我将用户电子邮件存储在组件的状态,...
我发现接口非常有用,但由于内存问题我需要开始优化我的应用程...
我得到了一个json响应并将其存储在mongodb中,但是我不需要的...
我试图使用loadsh从以下数组中获取唯一类别,[{"listing...