2.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. let a: object;
  2. a = {};
  3. a = [];
  4. a = function () { };
  5. /**
  6. * 对象:
  7. * {
  8. * 属性名:类型,
  9. * 属性名:类型...
  10. * }
  11. * ? 可选的
  12. */
  13. let b: {
  14. a: number,
  15. c: string,
  16. d?: string,
  17. // 可以添加任意属性任意类型的属性
  18. [propName: string]: any
  19. }
  20. b = {
  21. a: 1,
  22. c: 'h',
  23. d: "你好",
  24. e: "就是",
  25. f: 1333
  26. }
  27. /**
  28. * 函数:
  29. * let c:(a:number,b:string)=> string;
  30. */
  31. let c: (a: number, b: string) => string;
  32. c = function fn1(a: number, b: string) {
  33. return a + b;
  34. }
  35. // console.log(c('12','12'))
  36. /**
  37. * 数组
  38. * let x:类型[]
  39. * let x:Array<类型>
  40. */
  41. let d: number[];
  42. d = [1, 2, 3, 4];
  43. let e: Array<boolean>
  44. e = [true, false]
  45. // 元祖:固定长度的数组
  46. let f:[number,boolean,string];
  47. f=[1,true,"12"];
  48. // 枚举
  49. enum Sex {
  50. man,woman
  51. }
  52. let g: {
  53. name:string,
  54. age:number,
  55. sex:Sex
  56. }
  57. g = {
  58. name:'图图',
  59. age: 3,
  60. sex:Sex.man
  61. }
  62. console.log(g.sex === Sex.woman ? '女' : '男');
  63. // 类型别名
  64. // 或=> |
  65. type k = 1|2|3|4;
  66. let s1:k = 4;
  67. // let s2:k = 41;
  68. // 逻辑运算符:&
  69. let s3:{name:string}&{age:number};
  70. s3 = {
  71. name:"海绵宝宝",
  72. age:12
  73. }
  74. export { };