10
0

8.泛型.js 1001 B

12345678910111213141516171819202122232425262728293031323334
  1. (function () {
  2. // function fn1(name:string):string {
  3. // return name;
  4. // }
  5. // fn1("嗷嗷")
  6. // function fn2(name:any):any {
  7. // return name;
  8. // }
  9. // return break/continue 传参
  10. // 泛型:先用字符去指代未知类型 使用时传入具体的值
  11. function fn3(num) {
  12. return num;
  13. }
  14. fn3(12); //若传入时 未直接指出类型 则ts默认解析传入类型
  15. fn3("你好"); //若传入时 直接指出类型 将类型写在<>内
  16. // 传入多个值
  17. function fn4(a, b) {
  18. return [a, b];
  19. }
  20. fn4("10", false);
  21. // 若函数中 泛型继承接口 则传入的值必须符合接口的条件
  22. function fn5(a) {
  23. return a;
  24. }
  25. fn5({ jump: '0' });
  26. // 若类中 泛型继承接口 则传入的值必须符合接口的条件
  27. class Ending {
  28. constructor(name) {
  29. this.name = name;
  30. }
  31. }
  32. let end = new Ending({ jump: '哈哈' });
  33. console.log(end, 'end');
  34. })();