泛型

  1. 泛型:任意类型
  2. 好处:兼顾了灵活性和类型检查
  1. function getDatas<T>(msg:T){
  2. console.log(msg);
  3. }
  4. getDatas<string>('hello')
  5. getDatas<number>(1)

约束泛型

/* function echoWithArr<T>(arg:T []){
    console.log(arg);
}
echoWithArr<string>(['html'])
echoWithArr<number>([1234]) */
/* 约束泛型:使用接口对泛型进行了拓展 */
interface len{
    length:number;
}
function getLength<T extends len>(arg:T){
    console.log(arg.length);

}
getLength<string>("hello");
getLength({length:10})
getLength<Array<number>>([1,2,3])