美文网首页
typescript学习笔记3-接口(1)

typescript学习笔记3-接口(1)

作者: scoyzhao | 来源:发表于2018-06-06 20:53 被阅读0次

为什么需要接口

上节最后有函数/方法的参数声明,倘若有参数,如:

function func1({ x = 0, y = 0, z = 0 } : { x : number, y = .....}): xx {
  xxx
}

那么就。。。

这个时候就用到了接口,接口的作用是描述结构的形态。

“总结”

如果用接口改写上述代码:

interface point2d {
    x : number
    y : number
}

interface point3d extends point2d {
    z : number
}

function func({ x: 0, y: 0, z: 0}: point3d): string {
    xxx
}

比起上面一个一个写就显得清爽了许多。另外,从例子中可以看出,接口可以通过extnds关键字扩展,扩展后不仅拥有以前的那些字段,还有新加的字段。

描述类

通过关键字implements去描述类。

interface Db {
    readonly host: string
    port: number

    connect(username: string): void
}

class MySQL implements Db {
    readonly host: string
    port: number

    constructor(host: string, port: number) {
        this.host = host
        this.port = port
    }

    connect(uname: string): void {
        console.log(`${uname}正在连接${this.host}:${this.port}`)
    }
}

此外,类的方法也可以写到接口里。

属性修饰符

位置可以在上面的例子里看到

readonly:字面意思。
private和protected:前者似有变量,只有自己内部方法可以访问,不可被继承,而protected可以被继承,可以理解成私房钱和姓氏。
public:和不写一样。
可选属性:在接口属性名后加一个问号,表示可传可不传。

interface Person {
    IdCard: string
    name?: string
}

let person: Person = { IdCard: 'xxxxx' } // 不报错

如果设定一接口,但是我临时想传更多的属性

可以通过:

interface Person {
    IdCard: string
    name?: string
    [propName: string]: any
}

[]里限定里属性名的类型,括号后的any限定了属性的类型。其中propName是可以随便改的。

相关文章

  • typescript学习笔记3-接口(1)

    为什么需要接口 上节最后有函数/方法的参数声明,倘若有参数,如: 那么就。。。 这个时候就用到了接口,接口的作用是...

  • Typescript

    TypeScript(TS)部分 TypeScript学习笔记

  • Typescript 学习笔记六:接口

    目录: Typescript 学习笔记一:介绍、安装、编译 Typescript 学习笔记二:数据类型 Types...

  • TypeScript 学习笔记2 接口

    接口:行为抽象 接口 vs. 类型别名 其一,接口创建了一个新的名字,可以在其它任何地方使用。 类型别名并不创建新...

  • typescript学习笔记——(二)接口

    你要知道的 TypeScript的核心原则之一是对值所具有的结构进行类型检查。接口的作用就是为类型命名和为代码或第...

  • TypeScript - 接口

    TypeScript - 接口( Interface) [TOC] 学习目标 理解接口的概念 学会通过接口标注复杂...

  • 【typeScript】:typeScript初学笔记(二)

    本周接着学习typeScript,上一次学习到接口,接口一般首字母大写。 数组 数组的表示方法: 1.「类型 + ...

  • typescript学习-接口

    typescript学习-函数https://www.jianshu.com/p/a65e129affc7

  • TypeScript学习——接口

    什么是接口 在面向对象语言中,接口是一个很重要的概念,他是对行为的抽象,而具体如何行动需要由类去实现。 TypeS...

  • 学习TypeScript 接口

    TypeScript 接口定义 interface interface_name {} 实例 联合类型和接口 接口...

网友评论

      本文标题:typescript学习笔记3-接口(1)

      本文链接:https://www.haomeiwen.com/subject/fryisftx.html