关于前端:TS接口和接口继承

接口

接口也相当于语法标准,在应用ts编写的时候,须要重视的就是数据类型以及语法标准,恰好这里提供了一个接口,在进行传值的时候,传值的类型以及字段必须合乎咱们预期的类型标准才能够,上面是代码演示
语法:interface 接口名 { 参数名 : 数据类型 } ,例如: interface IPerson { username : string }

    // 接口:是一种能力,一种束缚而已
    // 定义一个接口 此处定义标准
    interface IPerson{
        firstName : string // 姓氏
        lastName : string // 名字
    }

    // 输入姓名   在调用此办法的时候,须要传值,传的值必须合乎IPerson内定义的标准
    function showName (person : IPerson) {
        return `${person.firstName},${person.lastName}`
    }
     
    const person = {
        firstName : '孙',
        lastName : '悟空'
    }
   // 此处调用showName 的时候 传入person 合乎下面定义的接口标准
   console.log(showName(person));    // 打印 孙,悟空

如果传值少一项,或者传入的类型谬误,则会编译报错,ts会给予提醒,例如

const person = {
        firstName : '孙',
       // lastName : '悟空'
    }
  console.log(showName(person));
  // 此处传入的person 外部少一个字段,编译报错


接口继承

接口能够继承,子接口继承父接口,子接口就领有父接口定义的数据类型束缚,例如在此处定义了两个接口

// 接口1
interface ICart {
    name : string
}
// 接口2
interface IColor {
    color : string
}

这两个接口曾经写好了,有时候须要对不同的数据进行束缚,繁多的接口可能不太适合,或者不太够用,那么就能够将多个接口组合,这就是继承。比方,这里定义了A接口 name ,B接口color,当初有一条数据:名字是东风,色彩为红色,价格999,此时能够将多个接口组合起来,B接口继承A接口,让B接口领有A接口的数据类型束缚,或者是定义一个新接口继承AB两个接口。

// 定义一个接口,继承 ICart 和 IColor
interface ICartInfo extends ICart,IColor{ 
    price : number    // 本身也能够定义数据类型
 }

此时 ICartInfo 的接口实际上束缚的数据类型为:

interface ICartInfo extends ICart,IColor{ 
    name : string
    color : string
    price : number 
 }

应用接口

const cartInfo : ICartInfo = {
    name : '东风',
    color : "红色",
    price : 999
}
console.log(cartInfo);  // 输入 { name : '东风' , color : "红色" , price : 999 }


案例源码:https://gitee.com/wang_fan_w/ts-seminar

如果感觉这篇文章对你有帮忙,欢送点亮一下star哟

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理