请问枚举和普通的JavaScript对象在使用场景上有什么不同呢

来源:2-12 枚举(Enum)

_掉毛的皮卡丘_

2020-10-02

enmu Direction = {
	Up: 'UP',
	Down: 'DOWN',
	Left: 'LEFT',
	Right: 'RIGHT',
}
const direction = {
	Up: 'UP',
	Down: 'DOWN',
	Left: 'LEFT',
	Right: 'RIGHT',
}

感觉二者在使用场景上是完全一样且互相可替代的呀,为什么会专门有枚举这种类型呢?

写回答

1回答

张轩

2020-10-03

同学你好 枚举代表的是一系列特定类型对象的 这是从别的编程语言派生出来的概念 所以我们不能用 js 的概念强加到它上面,其实枚举最好理解的就是一系列确定的常量。 在上面例子中 enum 里面的值是没法重新赋值的。

Direction.Up = 'test' //报错
direction.up =' test' // 没问题


4
0

Vue3 + TS 仿知乎专栏企业级项目

带你完成前后端分离复杂项目,率先掌握 vue3 造轮子技能

3142 学习 · 2313 问题

查看课程