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新增类型 |
简单示例
let a: number // 定义number类型的值,以后赋值只能是数字类型
let b: string // 定义string类型的值,以后赋值只能是字符串
let c: boolean // 定义boolean类型的值,以后赋值只能是数字布尔类型
let d: boolean | string // 定义可以赋值布尔或者字符串类型
let e: any // 设置任何类型,可以赋值给任何类型变量。
let f: unknown // 未知类型,unknown是安全类型的any,但是不能赋值给其他变量。
//变量和变量赋值,只能是同类型。
c = d as string //类型断言,可以用来告诉c是字符串
c = <string>d //类型断言简写
function fn(num) :number{// 设置返回值类型
return num
}
function fn2(num) :void{// 表示没有返回的值,可以不写return
return //1种写法
return null //2种写法
return undefined //2种写法
}
function fn3(num) :never{// 表示永远不会返回值,null,undefined都没有,适合用于报错
throw new Error('报错!!!')
}
let b: object // 对象类型
let b = {}
let b = function (){}
let r: {name:string,age?:number} // ?表示可以不传的类型
r = {name:'张三'}
let r: {name:string,[propname:string]:any} // [propname:string]表示属性名是字符串,任意写多少属性,:any属性值是什么类型
r = {name:'张三',age:15,render:'男'}
let func: (a:number,b:number)=>number //箭头函数限制接受的值,和返回的值
let e: Array<number> // 表示数组里面只能放数字
let e: string[] // 表示数组里面只能放字符串
let t: [string,number] //元组类型,就是固定长度的数组
h = ['hello',123]
enum Gender{//Enum枚举类型
male = 0,
female = 1
}
let i:{name:string,grnder:Gender}
i = {name:'猴子',gender:Gender.male}
let j:{name:string} & {age:number} // &表示同时类型
j = {name:'猴子',age:18}
type mytype = 1 | 2 | 3 //类型别名
let k: mytype
let o: mytype
k=3
function f1<t,k>(a:t,b:k):t {//泛型
return a
}
f1<number,number>(1,4)
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!