1、interface(接口):定义一种数据结构,使得使用的数据满足该结构,否则报错。用来规范使用的数据和提醒开发者数据规范
interface people {
name:string
}
interface people{
age:number
}
//接口名称一样的时候,会自动合并
let person:people = {
name:'小芳', //必须满足全部的属性
age:19
}
2、可选式操作符?、任意类型、只读属性和添加方法
interface Person {
readonly name:string,
age?:number, //可选式操作符
fn():number,//函数定义
[propName:string]:any, //任意类型 一般后台返回多余的函数,可使用该类型
// [propName:string]:string | number, //联合类型
}
//可不适用age属性
let p:Person = {
name:'小芳',
abc:123,
fn:(): number=>{ //函数实现,不写报错
return 123
}
}
// p.name = 'ccc' //报错 只读,不可修改
3、继承
interface A {
name:string
}
//接口继承 继承之后适用B的时候,必须满足A 可以多个继承
interface B extends A {
age:number
}
let C:B = {
name:'小芳',
age:18
}