2.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. // Object(对象 数组 函数)
  2. let a1:object;
  3. a1 = {};
  4. a1 = [];
  5. a1 = function() {};
  6. /**
  7. * 对象语法:
  8. * {属性名:属性值,....}
  9. * 属性名后面添加?,相当于给当前属性设置可选开关
  10. * [propName:string]:any 可以添加任意属性 任意类型
  11. */
  12. let b1:{a:number,b?:string,[propName:string]:any};
  13. b1 = {
  14. a:12,
  15. b:'2'
  16. }
  17. b1 = {
  18. a:12,
  19. c:12,
  20. d:12
  21. }
  22. /**
  23. * 函数语法
  24. * (形参:类型,形参:类型) => 类型
  25. */
  26. let c1:(a:number,b:string) => string;
  27. c1 = function(a:number,b:string) {
  28. return a+b;
  29. }
  30. c1(2,'3');
  31. /**
  32. * 数组语法
  33. * 类型[]
  34. * Array<类型>
  35. */
  36. let d1:string[];
  37. d1 = ['1','2','21'];
  38. let d2:Array<number>;
  39. d2 = [1,2,3]
  40. // 元祖:固定长度的数组
  41. let f1:[number,string];
  42. f1 = [1,'2'];
  43. /**
  44. * 枚举 enum
  45. * enum 对象名称 { 定义的枚举值 }
  46. */
  47. enum Sex {
  48. man,woman
  49. }
  50. let g1:{
  51. name:string,
  52. age:number,
  53. sex:Sex
  54. }
  55. g1 = {name:'孙悟空',age:12,sex:Sex.man};
  56. console.log(g1.sex === Sex.man ? '男' : '女')
  57. /**
  58. * 类型别名 type
  59. */
  60. type myType = number | string;
  61. let x:myType;
  62. let y:myType;
  63. let z:myType;
  64. /**
  65. * 逻辑运算符
  66. * | 或
  67. * & 和
  68. */