You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1011 B

2 years ago
  1. // 1.参数个数:参数少的可以赋值给参数多的
  2. type F1 = (a: number) => void
  3. type F2 = (a: number, b: number) => void
  4. let f1: F1
  5. let f2: F2
  6. // 参数少的 f1 可以赋值给参数多的 f2 。 例: f2 = f1
  7. // 但是参数多的不能赋值给参数少的
  8. // 2.参数类型:相同位置的参数类型要相同兼容
  9. // 参数类型是原始类型
  10. type F3 = (a: number) => void
  11. type F4 = (a: number) => void
  12. let f3: F3
  13. let f4: F4
  14. // 相同位置和相同类型的参数,可以参数少的可以赋值给参数多的,也可以参数多的赋值给参数少的。 例:f3 = f4 f4 = f3
  15. // 参数类型是对象类型
  16. interface Point2D {
  17. x: number
  18. y: number
  19. }
  20. interface Point3D {
  21. x: number
  22. y: number
  23. z: number
  24. }
  25. type F5 = (p: Point2D) => void // 相当于有两个参数
  26. type F6 = (p: Point3D) => void // 相当于有三个参数
  27. let f5: F5
  28. let f6: F6
  29. // 参数少的可以赋值给参数多的,但是参数多的不可以赋值给参数少的