interface Person {
name: string;
age?: number
[propName: string]: any
say(): string
}
type Person1 = string
const getPersonName = (person: Person): void => {
console.log(person.name);
}
const setPersonName = (person: Teacher, name: string): void => {
person.name = name
}
const person = {
name: 'dell',
sex: '男',
say() {
return '123'
},
arr() {
return '789'
},
}
getPersonName(person)
setPersonName(person, 'lee')
class user implements Person {
name = 'dell'
say() {
return '456'
}
}
interface Teacher extends Person {
arr(): string
}
interface Arrs {
(word: string): string
}
const say: Arrs = (word: string) => {
return word
}