enum Color {Red = 1, Green = 2, Blue = 4} let c: Color = Color.Green 1. 2. 枚举类型提供的一个便利是你可以由枚举的值得到它的名字。 例如,我们知道数值为 2,但是不确定它映射到 Color 里的哪个名字,我们可以查找相应的名字: enum Color {Red = 1, Green, Blue} let colorName: string = ...
enum-plus是一个 TypeScript 库,旨在提供更强大、更灵活的枚举解决方案。它通过简单的 API 设计,解决了原生 enum 的痛点,并提供了更多实用功能。 enum-plus允许你在定义枚举时直接添加显示文本、国际化支持、自定义属性等,极大地简化了枚举的使用和维护。 1. 内置显示文本支持 enum-plus允许你在定义枚举时直接添加...
const entries: [string, number][] = Object.entries({ foo: 123, bar: 456 }) const [key, value] = entries[0] // key => foo, value => 123 枚举类型(Enum Types) 枚举的介绍 枚举类型的特点 可以给一组数值取上一个更好理解的名字; 一个枚举中只会存在几个固定的值,并不会出现超出范围的...
}constHTTP: {[k:string]:any} = {};for(letkeyinHTTPTypes) {console.log('key =', key);HTTP[key] =HTTPTypes[key] ; }exportdefault{HTTP, }; generic&keyof // 多个泛型参数// O extends object// K extends keyof O = keyof OfunctionenumKeys<Oextendsobject, Kextendskeyof O = keyof O>...
和type、interface 类似,enum 可以直接作为静态类型使用 functiongetLocals(lang:Language) {return`hello ${lang}`; } 但在调用这个函数的时候,传入的参数不能是enum的值,而应该是enum的引用 从这里就会发现 enum 的特性:可以当做对象使用 摘一段官方文档的描述:枚举类型在运行时会被编译为一个对象,包含正向映射...
这个createEnumMapper的 function 是一个currying function,第一个变数传入的是 enum 本身,这时候 TypeScript 的 Generics 就会知道我的T就是跟enum本身有关。 为了让这个Generics可以正确的把两个enum mapping起来,我们必须要先建立一个object把两个enum的key value配对像下面这样: ...
enum,枚举。它用来描述一个值,该值只能是 一组命名常量 中的一个 没有type之前,用枚举比较多,现在用的少了。枚举的功能类似于字面量类型+联合类型组合的功能,也可以表示一组明确的可选值 格式 定义格式 enum 枚举名 { 可取值1,可取值2,.. }
使用enum关键字定义枚举 约定枚举名称、枚举中的值以大写字母开头 枚举中的多个值通过,(逗号)分隔。 定义好枚举后,直接使用枚举名称作为类型注解。 enumDirection{Up,Down,Left,Right}functionchangeDirection(direction:Direction){console.log(direction)}changeDirection(Direction.Up) ...
Object(和any的作用基本相似) Symbol 没有值(undefined或unknown) 空值(void) 任意类型(any) 没有值(never) 枚举(enum) 元祖(tuple) 三、为变量指定类型 // 在js中, 是没有类型的, 使用 let声明一个变量之后可以为这个变量赋值为数字后继续赋值为字符串let a;a = 666;a = 'hello';// 但是在ts中, ...
constdata={a:3,hello:'world'}functionget(o:object,name:string){returno[name]} 我们刚开始可能会这么写,不过它有很多缺点 无法确认返回类型:这将损失 ts 最大的类型校验功能 无法对 key 做约束:可能会犯拼写错误的问题 这时可以使用 keyof 来加强 get 函数的类型功能,有兴趣的同学可以看看 _.get 的 typ...