p7 TS -- 接口、类型别名

TS 接口(interface)

接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法

  • ts的接口和类型别名很相似

接口与类型别名的区别

  • 接口只适用与对象类型的定义,无论是单个对象还是函数参数为对象,数组元素为对象的定义
  • 类型别名适用与任何变量,并且可以是基础类型
  • 接口可以把重复的类型注解,合并成统一的接口。而类型别名不可以重复。

接口的简单应用

  //定义
	interface person {  
	  name:string,
	  age:number
     }
   //单个接口应用
   const pepole:person = {name:'冰墩墩',age:18}
   //函数中的应用
   function fn1(student:person){
     return student.age
   }
   //数组元素中的应用
   const arr1: teacher: person[] = [ {name:'冰墩墩老师',age:23}]

类型别名的应用

//定义
type person2 = {
  name:string,
  age:number
}
//单个别名应用
const pepole : person2 = {name:'雪容融',age:18}
//简单的应用与接口一样
//类型别名定义基本类型
type str = string
const name :str = '老秦'
const company:str = '德云社'

接口同名、类型别名同名

//接口同名(合并)
 interface myWindow {
   count:number
  }
  interface  myWindow {
   title:string
  }
  const w :myWindow = {
   count:1,
   title:'iphon'
  }
  //类型别名不可以同名
  type myWindow2 = {
   count:number
  }
  type myWindow2 = {   //会警告报错
   title:'华为'  
  }

接口扩展(继承)、类型别名扩展

// 接口扩展
interface Animal {
 name:string
}
interface Tiger extends Animal{
 age:number
}
const tiger: Tiger = {
 name:'嘻嘻',
 age:1
}

// 类型别名扩展
type Animal2 = {
 name: string
}
type Tiger2 = Animal2  & {
 age:number
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值