Skip to content

interface

js
// interface 与 type 相似,但不完全一样【https://juejin.im/post/5c2723635188252d1d34dc7d#heading-11】
interface Person {
    readonly name: string; // 只读
    age?: number; // 可选参数
    getName(): string; // 方法及返回值类型
    [prop: string]: any; // 除了name参数还能传其他的参数
}

function getUser(person: Person) {
    // person.name = 1 // 报错,name只读
}
getUser({name: 'tom', getName(){return "1"}})


// 定义函数的接口类型
interface sayHi {
    (word: string): string
}
let say: sayHi = (word: string) => word

// interface接口的继承【implements: v.执行】
class Person2 implements Person {
    name: '';
    getName() {
        return ''
    }
}