e 2 maanden geleden
bovenliggende
commit
6497507948
2 gewijzigde bestanden met toevoegingen van 61 en 0 verwijderingen
  1. 28 0
      14.ts/4.面向对象/dist/8.泛型.js
  2. 33 0
      14.ts/4.面向对象/src/8.泛型.ts

+ 28 - 0
14.ts/4.面向对象/dist/8.泛型.js

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

+ 33 - 0
14.ts/4.面向对象/src/8.泛型.ts

@@ -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:'小猫'})
+})()