TypeScript-数字枚举和字符串枚举

简介: TypeScript-数字枚举和字符串枚举

TypeScript-数字枚举和字符串枚举


TS 中支持两种枚举, 一种是 数字枚举, 一种是 字符串枚举





数字枚举


默认情况下就是数字枚举

enum Gender {
    Male,
    Female
}
console.log(Gender.Male);
console.log(Gender.Female);


数字枚举注意点

  • 数字枚举的取值默认从 0 开始递增
enum Gender {
    Male,
    Female
}
console.log(Gender.Male);
console.log(Gender.Female);


  • 数字枚举的取值可以是字面量, 也可以是常量, 也可以是计算的结果

字面量:

enum Gender {
    Male = 1,
    Female
}
console.log(Gender.Male);
console.log(Gender.Female);


常量,如果使用常量给前面的枚举值赋值了, 那么后面的枚举值也需要手动的赋值:

const num = 666;
enum Gender {
    Male = num,
    Female = 1
}
console.log(Gender.Male);
console.log(Gender.Female);


计算的结果,如果使用计算结果给前面的枚举值赋值了, 那么后面的枚举值也需要手动的赋值:

function getNum() {
    return 888;
}
enum Gender {
    Male = getNum(),
    Female = 1
}
console.log(Gender.Male);
console.log(Gender.Female);




枚举反向映射


  • 可以根据枚举值获取到原始值
enum Gender {
    Male,
    Female
}
console.log(Gender.Male);


  • 也可以根据原始值获取到枚举值
enum Gender {
    Male,
    Female
}
console.log(Gender[0]);




字符串枚举

  • 如果使用字符串给前面的枚举值赋值了, 那么后面的枚举值也必须手动赋值
enum Gender {
    Male = 'www.it6666.top',
    Female = 'yangbuyiya'
}
console.log(Gender.Male);
console.log(Gender.Female);




字符串枚举注意点

  • 如果使用字符串给前面的枚举值赋值了, 那么后面的枚举值也必须手动赋值上面已经介绍了
  • 和数字枚举不一样, 字符串枚举不能使用常量或者计算结果给枚举值赋值
  • 虽然字符串枚举不能够使用常量或者计算结果给枚举值赋值, 但是它可以使用内部的其它枚举值来赋值
enum Gender {
    Male = 'yangbuyiya',
    Yao = Male
}
console.log(Gender.Male);
console.log(Gender.Yao);




异构枚举

枚举中既包含数字又包含字符串, 我们就称之为 异构枚举

enum Gender {
    Male = 6,
    Female = 'nv'
}
console.log(Gender.Male);
console.log(Gender.Female);


注意点:如果是字符串枚举, 那么无法通过原始值获取到枚举值:

enum Gender {
    Male = 6,
    Female = 'nv'
}
console.log(Gender['nv']);
console.log(Gender);

最后


本期结束咱们下次再见👋~

🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗

相关文章
|
JavaScript 索引
TypeScript中的枚举是什么?
TypeScript中的枚举是什么?
98 0
|
JavaScript
开心档之TypeScript String(字符串)
开心档之TypeScript String(字符串)
69 0
|
12月前
|
JavaScript
typeScript进阶(10)_字符串字面量类型
本文介绍了TypeScript中的字符串字面量类型,这种类型用来限制变量只能是某些特定的字符串字面量。通过使用`type`关键字声明,可以确保变量的值限定在预定义的字符串字面量集合中。文章通过示例代码展示了如何声明和使用字符串字面量类型,并说明了它在函数默认参数中的应用。
141 0
|
11月前
|
JavaScript 安全 前端开发
TypeScript :枚举&字符&泛型
本文介绍了 TypeScript 中的泛型、约束、枚举和字符操作的基本用法。通过示例代码展示了如何定义和使用泛型函数、类和接口,以及如何利用 `keyof` 约束类型。此外,还介绍了枚举的定义和使用,包括常量枚举和外部枚举的区别。最后,简要说明了 `?.` 和 `??` 操作符的用途,帮助处理可能为空的属性和提供默认值。
124 0
|
JavaScript 前端开发
7.【TypeScript 教程】TypeScript 枚举(Enum)
7.【TypeScript 教程】TypeScript 枚举(Enum)
90 3
|
JavaScript 安全
TypeScript类型(数字、字符串、字面量、数组、元组、枚举、对象等)
TypeScript类型(数字、字符串、字面量、数组、元组、枚举、对象等)
130 0
|
JavaScript 前端开发 测试技术
TypeScript 枚举
TypeScript 枚举
|
JavaScript 前端开发 C#
TypeScript 元组 枚举
TypeScript 元组 枚举
|
JavaScript
TypeScript中的枚举是什么?
TypeScript中的枚举是什么?
|
JavaScript 前端开发 程序员
TypeScript【枚举、联合类型函数_基础、函数_参数说明 、类的概念、类的创建】(二)-全面详解(学习总结---从入门到深化)
TypeScript【枚举、联合类型函数_基础、函数_参数说明 、类的概念、类的创建】(二)-全面详解(学习总结---从入门到深化)
110 0

热门文章

最新文章