TypeScript 03-接口

149 阅读2分钟

TypeScript03-接口

前后端进行数据通信,数据接口。后端给你提供对应访问地址。访问这个地址得到对应数据格式

接口类型:

属性类型接口

函数类型接口

类类型接口 一、属性接口

我们定义一个对象,这个对象数据类型由我们自己来定义

let obj:{id:number,name:string} = {
    id:1,name;"xiaowang"
}

概念:接口十一种规范,一旦定义了这个规范,以后就必须按照规范来定义数据。

// 定义一个接口,定义规范.自定义了一种数据类型.
interface IStu {
    id:number,
    name:string
}
let student:IStu = {
    id:1,name:"xiaowang"
}
let classes:IStu = {
    id:1,name:"123"
}

interface是TS提供的一种规范。我们可以在属性接口里面认为,用接口定义了一种新的数据类型。

// 定义一个接口,定义规范.自定义了一种数据类型.
interface IStu {
    id:number,
    name:string,
    address?:string //?来定义属性,非必须
}
interface IClases {
    id:number,
    name:string,
    address:string
}
let student:IStu = {
    id:1,name:"xiaowang"
}
let classes:IStu = {
    id:1,name:"123",address:"301"
}

实现:定义一个数组,数组里面存放对象,对象id,名字,gender

interface IStu2 {
    id:number,
    name:string,
    gender:number
}
let students2:IStu2[] = [
    {id:1,name:"xiaowang",gender:0}
]
let students3:Array<IStu2> = [
    {id:1,name:"xiaowang",gender:0}
]

二、函数类型接口

我们在定义的时候,对参数类型进行约束

interface IStu2 {
    id:number,
    name:string,
    gender:number,
    array:number[],
    classes:IClases
}
function play(name:IStu2){
}
play(
    {id:1,name:"xiaowang",gender:1,array:[1,2,3],classes:{
        id:1,name:"123",address:"301"
    }}
)

函数的返回结果

interface IStu2 {
    id:number,
    name:string,
    gender:number,
    array:number[],
    classes:IClases
}
function play(name:IStu2):IClases{
    return name.classes
}
play(
    {id:1,name:"xiaowang",gender:1,array:[1,2,3],classes:{
        id:1,name:"123",address:"301"
    }}
)

练习:

定义一个数组,里面存放用户信息。两种不同类型的用户(普通管理员和超级管理员)

普通管理员(id、name、role、dept, age)

超级管理员(id、name、role、menus:[{id :1,path:”/home”}],age)

定义两个函数,传递一个数组进去,

1、返回所有的超级管理员

2、求年龄最小的用户是谁