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、求年龄最小的用户是谁