面试题答案
一键面试常见场景
在前端开发中,当需要一个对象同时满足多个不同类型的约束,但这些约束又来自不同的逻辑模块时,交叉类型与接口混合使用就很有用。例如,假设我们有一个用户对象,它既需要满足基本用户信息的接口约束,又需要满足管理员特定权限的接口约束。
代码示例
// 定义基本用户信息接口
interface UserInfo {
name: string;
age: number;
}
// 定义管理员权限接口
interface AdminPrivileges {
canManageUsers: boolean;
canEditSettings: boolean;
}
// 使用交叉类型创建管理员用户类型
type AdminUser = UserInfo & AdminPrivileges;
// 创建一个管理员用户实例
const admin: AdminUser = {
name: 'John Doe',
age: 30,
canManageUsers: true,
canEditSettings: true
};