HarmonyOS应用开发实战:猫猫大作战-enum 枚举类型定义
前言enum枚举是 ArkTS 中定义一组命名常量的方式。在「猫猫大作战」中枚举用于猫咪等级、游戏状态等互斥状态的表示。一、枚举定义export enum CatLevel { SMALL 1, // 小猫 MEDIUM 2, // 中猫 LARGE 3, // 大猫 XLARGE 4, // 特大猫 SUPER 5, // 超级猫 LEGENDARY 6, // 传奇猫 } export enum GameState { IDLE, // 0 主菜单 PLAYING, // 1 游戏中 PAUSED, // 2 暂停 GAME_OVER, // 3 游戏结束 }二、枚举使用// 猫咪等级 const level: CatLevel CatLevel.SMALL; console.info(level); // 1 // 等级比较 if (cat.level CatLevel.SUPER) { console.info(这是一只超级猫); } // 等级递进 const nextLevel (cat.level 1) as CatLevel; if (nextLevel CatLevel.LEGENDARY) { // 合并升级 }三、枚举 vs 常量特性enumconst 常量类型安全✅ 编译检查❌ 任意赋值IDE 提示✅ 自动补全✅ 可提示值范围限定集合无限制推荐场景状态机、等级配置参数四、游戏状态机// 使用枚举做状态流转 switch (this.gameState) { case GameState.IDLE: // 显示主菜单 break; case GameState.PLAYING: // 游戏逻辑 break; case GameState.PAUSED: // 暂停遮罩 break; case GameState.GAME_OVER: // 结算界面 break; }五、最佳实践互斥状态用 enum避免多 boolean 的非法组合显式赋值SMALL 1明确值配合 switch所有分支全覆盖总结enum 定义强类型枚举常量适合猫咪等级、游戏状态等互斥分类。核心要点互斥状态用 enum、 显式赋值可读性好、 switch 全覆盖。如果这篇文章对你有帮助欢迎点赞、收藏⭐、关注你的支持是我持续创作的动力相关资源ArkTS 枚举文档第 113 篇map-cats第 115 篇record-config第 116 篇interface