作者回复: 常量不能改变的意思是,不能通过代码改变常量的值,但你可以修改定义常量的文件,而代码无需修改。
作者回复: 可以把新增文件在 index.ts中 import 进来,不用修改配置文件
作者回复: 仍然存在硬编码
作者回复: 枚举成员都是只读的,对象不是。
作者回复: 字符串枚举类型只能被赋值给自身;
数字枚举类型与number类型相互兼容,可以相互赋值。
作者回复: 枚举主要用来定义一些常量,比如请求URL、文本提示信息等等,这样方便记忆,减少硬编码,增加可读性。
你的这个例子,数据一般只用在初始化下拉框的时候,在业务代码中不太可能引用到,不适合用枚举。
举个枚举的例子:
// const.ts
export enum URL {
GET_CITY = "/api/getCity"
}
// app.ts
import { URL } from "./const"
axios.get(URL.GET_CITY).then(function(resp) {
// render city select
}
作者回复: 反向映射使我们可以通过枚举成员的值得到枚举成员的名字,可用在需要显示名字的场景。
作者回复: 指定变量为枚举类型,就可以直接使用枚举成员的名字(一般我们都会让其具有比较明显的字面含义),而不必去使用具体的值,防止硬编码。
作者回复: 官方文档并未找到这个语法规定,既然提示了,我们就记下吧:含有字符串成员的枚举不能含有计算值,况且异构枚举也不推荐使用。
作者回复: 主要用来定义一些常量,比如请求URL、文本提示信息、分类信息等等,这样方便记忆,减少硬编码,增加可读性。
作者回复: 这是Mac的分屏功能