TypeScript | 集合

实现函数返回的传参类型控制

let fn = ref<null|undefined>()
fn(null) // ok
fn('1111') // error
fn(1) // error
// 先定义一个函数类型,定义泛型U,并规定传参为该泛型
interface ref_rf<U>{
    (x:U):any;
}
// 定义function ref ,返回值为函数ref_rf类型
function ref<T>(): ref_rf<T>{
	// 内部返回的函数中使用该泛型,控制传参
    return (value:T) => {
        console.log('hello ${value}')
    }
}

定义对象 & 对象数组

// 对象
interface article {
    [key: string]: {
        uid: number,
        name: string
    }
}
let a: article = {
    'a001': {
        uid: 1,
        name:'a1'
    }
}

// 对象数组
interface article_list {
    [key:number]: {
        uid: number,
        name: string
    }
}

or

type article_list = Array<article>

let a_list: article_list = [
	// 等同于 0:{uid:1,name:'11'}
    {
        uid: 1,
        name: '11'
    }
]

PS: [key:number] 表示一个数组 [key:string] 表示一个对象嵌对象(毕竟数组也是一个key为自增number的对象而已)

对象内定义类型

let resume = {
	base:{
		name:<String>'',
		age: <Number>0,
		phone:<String>'',
	}
}
resume.base.sex = 1 // err

or

type Tbase = {
	name:String
	age: Number
	phone:String,
}
let resume2 = {
	base:<Tbase> {
		name:'',
		age: 0,
		phone:''
	}
}
resume.base.sex = 1 // err
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值