博客列表 >TS数据类型

TS数据类型

搁浅
搁浅原创
2023年10月27日 01:53:46274浏览

TS数据类型

类型 例子
number 1,-32,3.6 任意数字
string hi,’hu’,”hi” 任意字符串
boolean true,false 布尔值
any * 任意类型
unknown * 类型安全的any
void undefined 空值或undefined
never 没有值 不能是任何值
object {name:’张大’} 任意JS对象
array [1,2,3] 任何JS数组
tuple [1,2,3] 元组,TS新增类型,固定长度数组
enum enum(a,b) 枚举,TS新增类型

简单示例

  1. let a: number // 定义number类型的值,以后赋值只能是数字类型
  2. let b: string // 定义string类型的值,以后赋值只能是字符串
  3. let c: boolean // 定义boolean类型的值,以后赋值只能是数字布尔类型
  4. let d: boolean | string // 定义可以赋值布尔或者字符串类型
  5. let e: any // 设置任何类型,可以赋值给任何类型变量。
  6. let f: unknown // 未知类型,unknown是安全类型的any,但是不能赋值给其他变量。
  7. //变量和变量赋值,只能是同类型。
  8. c = d as string //类型断言,可以用来告诉c是字符串
  9. c = <string>d //类型断言简写
  10. function fn(num) :number{// 设置返回值类型
  11. return num
  12. }
  13. function fn2(num) :void{// 表示没有返回的值,可以不写return
  14. return //1种写法
  15. return null //2种写法
  16. return undefined //2种写法
  17. }
  18. function fn3(num) :never{// 表示永远不会返回值,null,undefined都没有,适合用于报错
  19. throw new Error('报错!!!')
  20. }
  21. let b: object // 对象类型
  22. let b = {}
  23. let b = function (){}
  24. let r: {name:string,age?:number} // ?表示可以不传的类型
  25. r = {name:'张三'}
  26. let r: {name:string,[propname:string]:any} // [propname:string]表示属性名是字符串,任意写多少属性,:any属性值是什么类型
  27. r = {name:'张三',age:15,render:'男'}
  28. let func: (a:number,b:number)=>number //箭头函数限制接受的值,和返回的值
  29. let e: Array<number> // 表示数组里面只能放数字
  30. let e: string[] // 表示数组里面只能放字符串
  31. let t: [string,number] //元组类型,就是固定长度的数组
  32. h = ['hello',123]
  33. enum Gender{//Enum枚举类型
  34. male = 0,
  35. female = 1
  36. }
  37. let i:{name:string,grnder:Gender}
  38. i = {name:'猴子',gender:Gender.male}
  39. let j:{name:string} & {age:number} // &表示同时类型
  40. j = {name:'猴子',age:18}
  41. type mytype = 1 | 2 | 3 //类型别名
  42. let k: mytype
  43. let o: mytype
  44. k=3
  45. function f1<t,k>(a:t,b:k):t {//泛型
  46. return a
  47. }
  48. f1<number,number>(1,4)
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议