MST

星途 面试题库

面试题:TypeScript中交叉类型与接口混合使用的基础场景

请描述一个在前端开发中,使用TypeScript交叉类型与接口混合的常见场景,并给出相应代码示例。
39.5万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试

常见场景

在前端开发中,当需要一个对象同时满足多个不同类型的约束,但这些约束又来自不同的逻辑模块时,交叉类型与接口混合使用就很有用。例如,假设我们有一个用户对象,它既需要满足基本用户信息的接口约束,又需要满足管理员特定权限的接口约束。

代码示例

// 定义基本用户信息接口
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
};