MST

星途 面试题库

面试题:TypeScript中枚举类型在项目中的常规使用场景

请举例说明在前端开发项目中,哪些常见业务场景会用到TypeScript的枚举类型,并简单描述如何使用。
20.9万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试

常见业务场景及使用方式

  1. 状态管理
    • 场景:在前端应用中,一个组件可能有多种状态,比如一个弹窗组件,有关闭、打开、加载中等状态。使用枚举类型可以清晰地定义这些状态,方便管理和维护。
    • 使用示例
// 定义枚举类型
enum PopupState {
    Closed,
    Open,
    Loading
}

// 使用枚举类型
let currentState: PopupState = PopupState.Closed;

function openPopup() {
    currentState = PopupState.Open;
}
  1. 角色权限
    • 场景:在一个多用户系统中,不同角色具有不同的权限,如管理员、普通用户、访客等,每个角色对应特定的操作权限。通过枚举可以方便地定义角色类型,并在权限判断逻辑中使用。
    • 使用示例
// 定义枚举类型
enum UserRole {
    Admin = 'admin',
    NormalUser = 'normalUser',
    Guest = 'guest'
}

let userRole: UserRole = UserRole.NormalUser;

function checkPermission() {
    if (userRole === UserRole.Admin) {
        // 执行管理员操作
    }
}
  1. 表单验证规则
    • 场景:在表单提交前需要进行各种类型的验证,如必填、邮箱格式、手机号格式等。可以用枚举定义不同的验证规则类型,方便在验证函数中调用。
    • 使用示例
// 定义枚举类型
enum ValidationType {
    Required,
    Email,
    Phone
}

function validate(field: string, type: ValidationType) {
    if (type === ValidationType.Required) {
        // 执行必填验证逻辑
    }
}