美文网首页
TypeScript - 03 接口

TypeScript - 03 接口

作者: Lisa_Guo | 来源:发表于2019-12-11 14:34 被阅读0次

接口 只定义对象应该包含哪些属性和函数,及其类型定义等,并不具体实现。相当于一个 复杂类型结构约定

1. 定义接口

interface关键字声明一个接口。

interface Person {
   firstName: string;
   lastName: string;
}

function greet(person: Person) {
   console.log('Hello, ' + person.lastName)
}

greet('lisa')   // Error
greet({ firstName: 'Lisa' })   // Error, must have 'firstName' and 'lastName'
greet({ firstName: 'Lisa',  lastName: 'Guo' })   // OK

greet函数传参时的变量必须符合Person接口的定义,即:必须有firstName和lastName

2. 可选属性

可选属性表示实际对象可以包含也可以不包含该属性。
variable ?: type 变量后加?定义一个可选属性

interface Person {
   firstName: string;
   lastName?: string;
}

function greet(person: Person) {
   console.log('Hello, ' + person.lastName)
}

greet({ firstName: 'Lisa' })   // OK, lastName is optional
greet({ firstName: 'Lisa',  lastName: 'Guo' })   // OK

3. 只读属性

只读属性 表示该属性只在创建时可赋值
readonly variable: type 变量前加 readonly 声明一个只读变量

interface Person {
    readonly firstName: string;
    readonly lastName: string;
}

let user1: Person = { firstName: 'lisa', lastName: 'guo' }
user1.firstName = 'timo'   // Error

只读数组ReadonlyArray<T>可以定义一个只读数组

let  names: ReadonlyArray<string> = ['lisa', 'timo']
names.push('Zun')  // Error

readonly vs const
最简单判断该用readonly还是const的方法是看要把它做为变量使用还是做为一个属性。 做为变量使用的话用const,若做为属性则使用readonly

相关文章

  • TypeScript 03 - 接口

    TS 核心原则之一就是对值所具有的结构进行类型检查。在 TS 里,接口的作用就是为这些类型命名,为代码或第三方代码...

  • TypeScript - 03 接口

    接口 只定义对象应该包含哪些属性和函数,及其类型定义等,并不具体实现。相当于一个 复杂类型 或 结构约定。 1. ...

  • TypeScript 中的接口(interface)

    TypeScript 中的接口可分为: 之前的文章 TypeScript 基础类型和接口(interface)里面...

  • 学习TypeScript 接口

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

  • TypeScript学习笔记之四接口(Inferfaces)

    一、使用环境 Mac 电脑 WebStorm TypeScript3.x版本 二、接口 在 TypeScript ...

  • TypeScript - 接口

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

  • TypeScript 接口

    TypeScript接口 接口只读属性 使用关键字readonly定义只读的接口属性 出现错误,如下 创建不可修改...

  • TypeScript接口

    属性类型接口 函数类型接口 定义了函数的参数。包括入参和出参。 可索引类型接口 类类型接口

  • typescript 接口

    日期:2019 年 8 月 29 日 typescript 接口 介绍 TypeScript的核心原则之一是对值所...

  • TypeScript接口

    接口定义 类型检查器不会检查属性的顺序,只要相应的属性存在并且类型匹配即可。 可选属性 定义可选属性只需要在属性后...

网友评论

      本文标题:TypeScript - 03 接口

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