2.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // let a = {}
  2. // 常规的对象类型
  3. // {属性名:类型,属性名:类型,....}
  4. // ? 当前属性 可以存在或者不存在
  5. // 扩展属性 允许额外定义任意属性 [propName:string]:any
  6. let a:{name:string,age?:number,[propName:string]:any};
  7. a = {
  8. name:"图图",
  9. age: 3
  10. }
  11. a = {name:"12",sex:'男',a:'1',b:2,c:3}
  12. // 函数
  13. // (形参:类型,形参:类型,...) => 类型;
  14. let b:(x:number,y:string) => string;
  15. b = function(a:number,b:string):string {
  16. return a+b
  17. }
  18. b(1,"1")
  19. // 数组
  20. // 定义格式:
  21. // 类型[] / Array<类型>
  22. // 元组 Tuple:固定长度 固定顺序 固定类型的数组称为元组
  23. let c:[number,number,string,number];
  24. // let c:number[];
  25. // let c:Array<number>;
  26. // let c:any[];
  27. c = [1,2,'3',4];
  28. // 枚举 Enum
  29. // 批量定义固定常亮 常用于状态 分类 选项
  30. // 默认从0开始自动递增赋值 可直接枚举名取值
  31. // 把固定的选项变成有名字的常亮
  32. enum Sex {
  33. man, //0
  34. woman // 1
  35. // a = 2
  36. }
  37. let d :{
  38. name:string,
  39. age:number,
  40. sex:Sex
  41. }
  42. d = {
  43. name:"图图",
  44. age: 3,
  45. sex:Sex.man
  46. }
  47. console.log(d.sex == Sex.man ? '男' : '女')
  48. export {}