interface
interface Person {
name: string;
age?: number;
[propName: string]: any;
say(): string;
}
interface Teacher extends Person {
teach(): string;
}
const getPersonName = (person: Person): void => {
console.log(person.name);
};
const setPersonNsme = (person: Teacher, name: string): void => {
person.name = name;
};
let person = {
name: "lih",
sex: "女",
say() {
return "hello";
},
teach() {
return "Teacher的方法";
},
};
getPersonName(person);
getPersonName({
name: "lih",
sex: "女",
say() {
return "hello";
},
teach() {
return "Teacher的方法";
},
});
setPersonNsme(person, "zss");
class User1 implements Person {
name = "ting";
say() {
return "say ting";
}
}
interface SayHi {
(word: string): string;
}
const say: SayHi = (zss: string) => {
return "say";
};
interface 和 type的区别
type Person1 = {
name: string;
};