typescript接口

一,前言

1.在typescript中接口可用于表示javascript的对象类型

二,接口定义

1.接口用关键字interface定义,描述了对象的形状,通常对象名称首字母大写

interface Family {
	father:string,
	mother:string,
	i:string
}

三,接口属性

1.接口属性可分为,必需属性可选属性任意属性可读属性4种

2.必需属性为直接声明的属性

interface Family {
	father:string,
	mother:string,
	i:string
}

3.可选属性使用?表示,在实现这个接口时,不一定要这个属性

interface Family {
	father:string,
	mother:string,
	i:string
	pet?:string
}

4.任意属性允许一个接口有任意的属性

interface Family {
	father:string,
	mother:string,
	i:string,
	pet?:string,
	[key:string]:string
}

5.只读属性,使用readonly表示,只要在定义时赋值,不能被修改

interface Family {
   father:string,
   mother:string,
   i:string,
   pet?:string,
   [propName:string]:string,
   readonly id:string
}

6.索引签名的方式可以帮助我们定义一些灵活、动态的对象类型,是在 TypeScript 中定义不确定属性的对象类型的常用方法之一

interface Option {
  [key: string]: any
}

5.注意事项:
(1)一个接口实现的变量,一定要含有必需属性
(2)可以含有也可以不含有可选属性
(3)当含有任意属性时,其他属性的值类型一定是任意属性的子集
(4)一个接口只能有一个任意属性,如果接口中有多个类型的属性,则可以在任意属性中使用联合类型
(5)只读属性只能在创建的时候被赋值

四,接口继承

1.在ts中,接口可以使用关键字extends继承另一个接口,继承后的接口拥有自己独有的属性和继承接口的属性

interface Animal {
  name: string;
  age: number;
  eat(food: string): void;
}

interface Dog extends Animal {
  breed: string;
  bark(): void;
}

五,接口变量

1.使用接口定义变量时,变量的形状必须和接口的形状保持一致,不可增加多余的属性,也不可以少属性

interface Family {
	father:string,
	mother:string,
	i:string
	pet?:string
}

let lilysHome:Family ={
	father:'tom',
	mother:'marry',
	i:'lily',
}

六,注意事项

1.注意接口不能设置默认值

2.注意,对于一个可选属性,在操作时一定要判断是否存在,当不存在时返回的是undefined,对于对原本属性的一些操作,用在undefined上可能会报错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值