typeScript接口interface

2020-07-05  本文已影响0人  泛酸的桂花酒

什么是接口

接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法。
TypeScript 的核心原则之一是对值所具有的结构进行类型检查。

typescript interface的使用

typescript interface 可以包含只读属性,可选属性,函数类型

user.say = function(words: string) {
    return 'hello world'
}
interface User {
    name: string
    age?: number    //可选属性
    readonly isMale: boolean //只读属性
    say: (words: string) => string  //函数类型
}

可索引类型

假设小甲的信息如下:

{
    name: 'xiaojia',
    age: 22,
    isMale: false,
    say: Function,
    msg: {
        NetEase: 'xioajia@163.com',
        qq: '1022994235@qq.com',
    }
}

小乙的信息如下:

{
    name: '小乙',
    age: 15,
    isMale: true,
    say: Function,
    msg: {
        NetEase: 'xiaoming@163.com',
        qq: '1022994235@qq.com',
        sina: '1022994235@sina.com',
    }
}

这两个人的信息,他们的 phone 属性有共同之处,首先他们的 key 都是 string 类型的,其次 value 也是 string 类型,虽然数量不等。
这个时候我们可以用可索引类型表示,可索引类型具有一个索引签名,它描述了对象索引的类型,还有相应的索引返回值类型。

interface Phone {
    [name: string]: string
}

interface User {
    name: string
    age?: number
    readonly isMale: boolean
    say: () => string
    phone: Phone
}

接口继承

如下图vipuser继承了user,supperuser,接口是可以继承多个 的。

interface VIPUser extends User, SupperUser {
    broadcast: () => void
}
上一篇下一篇

猜你喜欢

热点阅读