7.泛型.js 811 B

123456789101112131415161718192021222324252627282930313233
  1. (function () {
  2. // 泛型:先用字符去指代未知类型 使用时 传入具体的类型
  3. function fn3(x) {
  4. return x;
  5. }
  6. fn3(12);
  7. fn3("12");
  8. // function fn4<T extends number | string, K extends number | string>(x: T, y: K): number | string {
  9. // return x + y;
  10. // }
  11. function fn4(x, y) {
  12. return x + y;
  13. }
  14. function fn5(x, y) {
  15. return [x, y];
  16. }
  17. fn5(3, '43');
  18. const res = fn4(3, '23');
  19. console.log(res, '22222');
  20. // 严格按照接口格式传参
  21. // 函数中泛型继承接口
  22. function fn6(a) {
  23. return a;
  24. }
  25. fn6({ jump: 'aa' });
  26. // 类中泛型继承接口
  27. class Ending {
  28. constructor(name) {
  29. this.name = name;
  30. }
  31. }
  32. let e = new Ending({ jump: 'aa' });
  33. })();