类型 | 例子 | |
---|---|---|
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)
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号