泛型指的任意类型 劣势:放弃了类型检查 优势: 既有类型检查有可以传入任意类型
1-1 泛型函数
function getStr<T>(msg:T){console.log(msg);}getStr<string>("hello");getStr<object>({name:"lisi"});
1-2 约束泛型
function echoWithArr<T>(arg:T []){console.log(arg);}echoWithArr<string>(["html"]);echoWithArr<number>([1234]);
1-3 泛型类
class NumList<T>{public list:Array<T> = [];add(val:T){this.list.push(val);}}var nums = new NumList<number>();nums.add(1);nums.add(2);console.log(nums);var strs = new NumList<string>();strs.add("html")strs.add("css");console.log(strs);
1-4 泛型类
A 对象类型接口
interface attrs<T,U>{name:T,age:U}var obj:attrs<string,number> = {name:"lisi",age:10}
