面试题答案
一键面试假设第一个模块user.ts
代码如下:
// user.ts
export class User {
constructor(public name: string, public age: number) {}
}
在另一个模块extendedUser.ts
中进行扩展:
// extendedUser.ts
import { User } from './user';
export class ExtendedUser extends User {
constructor(name: string, age: number, public email: string) {
super(name, age);
}
}
这样就完成了对User
类的扩展,添加了email
属性,并且在TypeScript中能保证类型检查的正确性。在使用时:
// main.ts
import { ExtendedUser } from './extendedUser';
const user = new ExtendedUser('John', 30, 'john@example.com');
console.log(user.name);
console.log(user.age);
console.log(user.email);