10
0

2.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. // object 是js中的引用数据类型
  2. // 基本数据类型:number string boolean undefined null
  3. // 引用数据类型:object(数组、对象、函数)
  4. let a: object;
  5. a = [];
  6. a = {};
  7. a = function () {};
  8. // a = 12;
  9. /**
  10. * 对象语法:
  11. * {
  12. * 属性名:属性值,
  13. * 属性名: 属性值
  14. * 。。。
  15. * 在属性名后添加问号 相当于给当前属性设置可选开关
  16. * }
  17. */
  18. let b: {
  19. a: number;
  20. c: string;
  21. d?: boolean;
  22. };
  23. b = {
  24. a: 10,
  25. c: "hello",
  26. };
  27. b = {
  28. a: 90,
  29. c: "你好",
  30. d: true
  31. };
  32. /**
  33. * [propName:string]:any 可以添加任意属性的任意类型的数据
  34. */
  35. let c:{
  36. a:number,
  37. b?:string,
  38. [propName:string]:any
  39. }
  40. c = {
  41. a: 12,
  42. hi: '哇',
  43. wo: 0
  44. }
  45. let d: (a:number,b:number) => number;
  46. // d = () => {
  47. // return 'qq'
  48. // // console.log("你好")
  49. // }
  50. d = function fn1(a:number,b:number) {
  51. return a + b;
  52. }
  53. // fn1(89,0)
  54. // let obj = {
  55. // name:'1',
  56. // age:10
  57. // }
  58. /**
  59. * 数组:
  60. * let xxx:type[]
  61. * let xxx = Array<type>
  62. */
  63. let e:string[];
  64. let f:number[];
  65. // e = ['1','2','3'];
  66. // f = [1,'2',true];
  67. // let g:boolean[];
  68. let g =Array<boolean>;
  69. // 元祖:固定长度的数组
  70. let h:[number,boolean,boolean];
  71. h = [1,true,true];
  72. // h = ['dh',1,2]
  73. // 枚举
  74. enum Sex {
  75. man,
  76. woman
  77. }
  78. let k: {
  79. name: string,
  80. age: number,
  81. sex: Sex
  82. }
  83. k = {
  84. name:"孙悟空",
  85. age: 10,
  86. sex: Sex.man
  87. }
  88. // 条件 ? "真" : "假"
  89. console.log(k.sex === Sex.woman ? '男' : '女')
  90. // 类型别名
  91. type myType = 1|2|3|4;
  92. let l:myType = 1;
  93. let y:myType = 4;
  94. // 逻辑运算符 &
  95. let o:{name:string} & {age:number}
  96. o ={name:"孙悟空",age:20}
  97. export {};