相同 interface 和 type 都可用于 function object class // function interface ISetUser { (name: string, age?: number): void; } type TSetUser = (name: string, age?: number): void; // object or class interface IUser { name: string age?: number } type TUser = { name: string age?: number };