1.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /**
  2. * 基本数据类型:number string null undefined boolean
  3. * 引用数据类型:object(对象 数组 函数)
  4. * 校验数据类型的方法
  5. * typeof instaceof Object.prototype.toString.call constructor
  6. */
  7. // 变量
  8. let a: number = 10;
  9. let b: string = '12';
  10. let c: null;
  11. let d: undefined;
  12. let e: boolean = false;
  13. // let f = 12;
  14. // f = '12';
  15. // any 任意类型 只声明未定义 默认相当于 隐性any
  16. let a1;
  17. a1 = 12;
  18. a1 = '12';
  19. a1 = '哈哈哈';
  20. // unknow 未知类型 显性写法
  21. let a2:unknown;
  22. a2 = 12;
  23. a2 = '12';
  24. a2 = false;
  25. a2 = 'heihei'
  26. // 区别
  27. // a2 = a1;
  28. a1 = a2;
  29. let a3: string;
  30. // a3 = '20';
  31. // a3 =a2;
  32. // a3 = a1;
  33. /**
  34. * unknow与any区别
  35. * any可以给任意类型进行赋值
  36. * unknow不可以给任意类型进行赋值 只能给any进行赋值
  37. */
  38. // if(typeof a3 === 'string') {
  39. // console.log("走进来")
  40. // }
  41. // 类型断言 告知浏览器当前值是什么类型
  42. a3 = <string>'哈哈';
  43. a3 = '12' as string;
  44. // 格式: 变量名 = <类型>值
  45. // 格式: 变量名 = 值 as 类型
  46. // nerver 用来表示 永远不返回类型 不允许发出结果 只能反出爆粗
  47. function fn1():never {
  48. // return 12;
  49. throw new Error()
  50. // return 12
  51. }
  52. fn1();
  53. // void 用来表示空的类型
  54. function fn2():void {
  55. console.log("你好")
  56. // return 12;
  57. }
  58. fn2()
  59. export { };