2.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. // object
  2. // object array function
  3. let a:object;
  4. a = [];
  5. a = {};
  6. a = function() {};
  7. /**
  8. * 数组
  9. * 类型[]
  10. * Array<类型>
  11. */
  12. let b:string[];
  13. b = ['1','2','3'];
  14. let c:Array<boolean>;
  15. c =[true,false];
  16. // 元祖:固定长度类型的数组
  17. let d:[number,string,boolean,number];
  18. d = [1,'211',true,1];
  19. /**
  20. * 对象语法
  21. * {属性名:属性值,...,属性名?:属性值}
  22. * ?给当前字段设置可选性
  23. * 可以添加任意属性 任意类型
  24. * [propName:string]:any
  25. */
  26. let e:{a:number,b:string,c?:number,[propName:string]:any};
  27. e = {
  28. a:12,
  29. b:'hi',
  30. c:12,
  31. d:1,
  32. f:false,
  33. g:'hello'
  34. }
  35. /**
  36. * 函数语法:
  37. * (形参:类型,形参:类型....) => 类型
  38. */
  39. let f:(a:number,b:string)=> string;
  40. f = function(x:number,y:string):string {
  41. return x + y;
  42. }
  43. f(1,'21');
  44. /**
  45. * 枚举:
  46. * enum 对象名称{
  47. *
  48. * }
  49. */
  50. enum Sex {
  51. man,
  52. woman
  53. }
  54. let g: {
  55. name: string,
  56. age: number,
  57. sex: Sex
  58. }
  59. g = {
  60. name:"孙悟空",
  61. age: 100000,
  62. sex: Sex.man
  63. }
  64. console.log(g.sex === Sex.man ? '1' : '0');
  65. // 类型别名
  66. type myBook =1|2|3|4;
  67. let h:myBook;
  68. let i:myBook;
  69. let j:myBook;
  70. let k:myBook;
  71. h =2;
  72. // 逻辑运算符 &
  73. let l: {name:string} & {age:number};
  74. l = {
  75. name:"哪吒",
  76. age: 7
  77. }