06. interface关键字
于2023-09-30 22:51:14发布
30
基础语法
interface的功能与type类似。用法 :
interface V {
v1: string
v2: number
v3: boolean
v4: ()=> void
}
const p1: V = {
v1: '1',
v2: 2,
v3: false,
v4() {}
}
const p2: V = {
v1: '1',
v2: 2,
v3: false,
v4() {}
}
继承
interface Person {
name: string;
age: number;
}
interface Men extends Person {
sex: string
}
const p:Men = { // Men接口继承了Person接口的name和age
name: 'tom',
age: 15,
sex: 'boy'
}
&操作符
上面的继承案例也可以用&操作符实现
interface Person {
name: string;
age: number;
}
interface Men {
sex: string
}
const p:Person & Men = {
name: 'tom',
age: 15,
sex: 'boy'
}
interface与type区别
1、interface只能为对象制定类型,而type则可以定义任意类型
2、interface可以使用extends关键字实现继承
interface Person {
name: string
age: number
}
interface Men extends Person {
hobby: string
}
const p:Men = {
name: 'tom',
age: 12,
hobby: 'play game'
}
而type如果要实现类似的功能,只能使用&操作符。如 :
type Person = {
name: string
age: number
}
type Men = {
hobby :string
} & Person
const p:Men = {
name: 'tom',
age: 12,
hobby: 'play game'
}