typescript【一】interfaces学习

今天开始学习 typescript ,坚持每一天更新一篇。

什么是接口

在面向对象语言中,接口(Interfaces)是一个很重要的概念,它是对行为的抽象,而具体如何行动需要由类(classes)去实现(implement)。

TypeScript 中的接口是一个非常灵活的概念,除了可用于对类的一部分行为进行抽象以外,也常用于对「对象的形状(Shape)」进行描述。

先看下例子

interface Person {
    readonly id: number; //只读
    name: string; 
    age?: number; // 可能不存在age
    [propName: string]: any; //可以是任意类型
}


const user:Person = {
    id: 12,
    name: 'jike',
}

user.id = 14 //报错

下个例子

interface Person {
    readonly id: number;
    name: string; 
    age: number; 
}


const user:Person = {
    id: 12,
    name: 'jike'
}

如果说 age 不带问号,声明user的时候必须有age属性,不然也会报错

完整类型

interface Itypes {
  name: string,
  list: any[],//
  num: number,
  item: any,
  fun: () => void
}

//合并类型
interface Itypes {
  ac: number
}

合并类型不能重复定义同一个属性不一样的类型

文章来源: typescript【一】interfaces学习