2.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import { Serializer } from "v8";
  2. // 引用数据类型
  3. let a:object;
  4. a = [];
  5. a = {};
  6. a = function() {};
  7. /**类型
  8. * 对象的语法
  9. * {
  10. * 属性名:属性值,
  11. * ..
  12. * ..
  13. * 在属性名后添加问号 相当于给当前属性添加可选开关
  14. * }
  15. */
  16. let b: {
  17. a:number,
  18. b:string,
  19. c?:boolean
  20. }
  21. b = {
  22. a:1,
  23. b:'2'
  24. }
  25. b = {
  26. a:11,
  27. b:'0',
  28. c:true
  29. }
  30. // 添加任意属性的任意类型数据
  31. let c: {
  32. a:boolean,
  33. b?:string,
  34. [propName:string]:any
  35. }
  36. c = {
  37. a:true,
  38. b:'1',
  39. hi:"你好",
  40. say:"哈哈"
  41. }
  42. // 函数
  43. // 普通函数 箭头函数 匿名函数 立即执行函数
  44. // 定义函数类型
  45. let d:(a:number,b:number) => number;
  46. d = function fn1(a:number,b:number) {
  47. return a + b;
  48. }
  49. d(12,5)
  50. // 数组
  51. // let xxx:type[]
  52. // let xxx:Array<type>
  53. let e:number[] = [1,2,3,4,5];
  54. let f:boolean[] = [true,false];
  55. let g:Array<boolean> = [true,false];
  56. // 元组:固定长度的数组
  57. let h:[number,boolean];
  58. h = [1,true];
  59. // 枚举
  60. enum Sex {
  61. man,
  62. woman
  63. }
  64. let i: {
  65. name:string,
  66. age:number,
  67. sex:Sex
  68. }
  69. i = {
  70. name:"Lucy",
  71. age: 10,
  72. sex: Sex.woman
  73. }
  74. // 判断:条件 ? '真' : '假'
  75. console.log(i.sex === Sex.woman? '女' : '男')
  76. // 类型别名
  77. type myType = 1|2|3|4;
  78. let j:myType = 3;
  79. let x:myType = 2;
  80. // 逻辑运算符: | 或 / & 与
  81. let m: {name:string} & {age:number};
  82. m = {
  83. name:'图图',
  84. age: 3
  85. }
  86. export {}