|
@@ -0,0 +1,33 @@
|
|
|
+(function(){
|
|
|
+ // function fn1(name:string):string{
|
|
|
+ // return name;
|
|
|
+ // }
|
|
|
+ // 泛型:用字符去指代未知类型 具体使用时 在传值
|
|
|
+ function fn1<T>(aa:T):T {
|
|
|
+ return aa;
|
|
|
+ }
|
|
|
+ fn1(12);//传入参数时 ts会自动解析出所传入的类型
|
|
|
+ fn1<string>("11");//传入参数时 指出类型 写在<>内
|
|
|
+ // 传入多个值
|
|
|
+ function fn2<T,X>(a:T,b:X):[T,X] {
|
|
|
+ return [a,b];
|
|
|
+ }
|
|
|
+ fn2<number,string>(11,'哈哈');
|
|
|
+ // 接口
|
|
|
+ interface happy {
|
|
|
+ jump:string
|
|
|
+ }
|
|
|
+ // 函数 泛型继承接口
|
|
|
+ function fn3<T extends happy>(a:T):T{
|
|
|
+ return a
|
|
|
+ }
|
|
|
+ fn3({jump:"就还好"});
|
|
|
+ // 类 泛型继承接口
|
|
|
+ class A<T extends happy>{
|
|
|
+ name:T;
|
|
|
+ constructor(name:T) {
|
|
|
+ this.name = name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let a = new A({jump:'小猫'})
|
|
|
+})()
|