//基本数据类型
const num:number = 1
const haha:undefined = undefined
const notice:string = '嘻嘻'
const empty:null = null
//数组
const arr:number[] = [1]
//对象
const obj:{ name:string,age:number } = {
name:'张三',
age:48
}
//联合类型
const params:string | number | boolean | undefined = undefined
//元组(限定类型的同时也限定参数个数)
const array:[number,string] = [1,'李四']
//函数
type Fn = (a:string,b:number)=>void
const func:Fn = (a,b)=>{
console.log(a,b)
}
//泛型
interface Data<T>{
name:string,
age:number,
intro:string,
data:T
}
type DataParams = Data<{ name:string,age:number }>
const obj2:DataParams = {
name:'sd',
age:20,
intro:'saas',
data: {
name:'sd',
age:20,
}
}
//排除
interface Person{
name:string,
age:number,
intro:string
}
type student = Omit<Person,'intro'>
//选取
type own = Pick<Person,'name'>
//keyof的使用
function getProp<T,K extends keyof T>(obj:T,key:K){
return obj[key]
}
getProp({ name:'张三' },'name')
type ObjParams = {
name:string,
age:number
}
//只能为ObjParams中的属性
const param:keyof ObjParams = 'age'
const age:keyof ObjParams = 'name'
//箭头函数
const obj3 = {
name:'sdsada',
age:10
}
const getParams = <T,K extends keyof T>(obj:T,key:K ):T[K]=>{
return obj[key]
}
getParams(obj3,'age')
//枚举
enum Params{
left,
right,
top,
bottom
}
const getList = (val:Params)=>{
console.log(val)
}
getList(Params.left)
ts的简单演示
最新推荐文章于 2024-08-15 08:55:57 发布