ts重点学习47-接口与类型别名得异同笔记

export default {}

/* 
1.相同点:

  - 都可以描述属性或方法
  - 都允许拓展

2.不同点:

  - type可以声明基本数据类型,联合类型,数组等; interface只能声明变量
  - 当出现使用type和interface声明同名的数据时;type会直接报错;interface会进行组合
  - type不会自动合并;interface会

*/

// 相同点
// 1.都可以描述属性或者方法
type womenStar = {
  name: string
  age: number
  perform(): any
}
interface IWStar {
  name: string
  age: number
  perform(): any
}

let star1:womenStar = {
  name: "邱淑贞",
  age: 18,
  perform(){
    return "倚天屠龙记"
  }
}

let star2: IWStar = {
  name: "李一桐",
  age: 18,
  perform() {
    return "射雕英雄传"
  }
}


// 2.都允许扩展
type money = {
  y1: number
}
type money2 = money & {
  y2: number
}

let salary:money2 = {
  y1: 10,
  y2: 20
}

interface Istar1 {
  name: string
}
interface Istar2 extends Istar1 {
  age: number
}


let starInfo: Istar2  = {
  name: "邱淑贞",
  age: 18
}


// 不同点
// 1.type 可以声明基本数据类型 ,联合类型 ,数组等等
//   interface只可以声明对象

type age = number;
type info = string | number | boolean;
type beautyList = [string | number];

// interface Iage = number;
// interface Iage {

// }


// 2.type不会进行合并
//   interface会进行合并
// type mygoddessName = {
//   name: string
// }
// type mygoddessName = {
//   age: number
// }


interface ImygoddessName{
  name: string
}

interface ImygoddessName{
  age: number
}


let goddess: ImygoddessName = {
  name: "邱淑贞",
  age: 18

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值