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 ''
}
}