TS-对象

定义对象类型的方式(分三种)

// 匿名、接口、类型别名
const obj: {name: string} = {name: 'jim'}
interface Myobj {
	name: string
	age: number
}
type Myobj = {
	name: string
	age: number
}

对象中的三种特殊属性定义

interface Point {
	// 可选属性
	name?: string,
	// 只读属性,当前option不可以修改,但是option.money可以修改
	readonly option: {
		money: string
	} ,
	// 索引签名,定义在索引签名之下的实名属性要兼容索引签名
	[index: number]: string,
	[props:string]: string,
}

对象类型的扩展和交叉

interface A {a: string}
interface B {b: number}
// 扩展对象类型
interface C extends A,B {}
// 获得交叉类型
type D = A & B

泛型对象

interface Box<T> {content: T}
type Box<T> = {content: T}
const box: Box<string> = {content: 'jim'}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值