⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

TS 枚举 vs 联合类型:选择最佳方案

比较枚举和联合类型的优劣,学会在项目中做出正确选择。 · 难度:入门 · +15XP

枚举与联合类型概述

TypeScript 提供了枚举(enum)和联合类型(union type)两种方式来表示一组有限的取值。虽然它们有相似之处,但在运行时行为、类型安全和可维护性方面存在显著差异。

对比表格

特性枚举联合类型
运行时存在是(生成 JavaScript 对象)否(仅在编译时)
反向映射支持不支持
类型安全中等(可赋任意数值)高(严格限定)
自动增量支持不支持
Tree-shaking不利于有利

代码示例

// 枚举方式
enum Status { Active = 'ACTIVE', Inactive = 'INACTIVE' }

// 联合类型方式 type StatusUnion = 'ACTIVE' | 'INACTIVE';

function handleStatus(s: StatusUnion) { /* ... */ } handleStatus('ACTIVE'); // 安全

练习提示:将给定的枚举改写为联合类型,并确保代码仍然正常工作。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 200 篇
0 完成
🔥 0