首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

阻止枚举参数接受Typescript中的数值

在Typescript中,我们可以使用枚举(enum)来定义一组具名的常量。枚举参数可以接受枚举中定义的常量值,但不能接受数值。

枚举是一种数据类型,用于定义一组命名的常量。它可以帮助我们在代码中使用更具有可读性和可维护性的常量,而不是直接使用数值。

在Typescript中,定义枚举可以使用关键字enum,如下所示:

代码语言:txt
复制
enum Color {
  Red,
  Green,
  Blue
}

在上面的例子中,我们定义了一个名为Color的枚举,它包含了三个常量:Red、Green和Blue。默认情况下,枚举中的常量会被赋予从0开始的递增数值。因此,Color.Red的值为0,Color.Green的值为1,Color.Blue的值为2。

当我们使用枚举时,可以通过枚举的名称来引用其中的常量。例如:

代码语言:txt
复制
let color: Color = Color.Red;
console.log(color); // 输出:0

在上面的例子中,我们将Color.Red赋值给变量color,并打印出其值。由于Color.Red的值为0,因此输出为0。

枚举参数接受的是枚举中定义的常量值,而不是数值。如果我们尝试将数值赋给枚举参数,编译器会报错。例如:

代码语言:txt
复制
enum Color {
  Red,
  Green,
  Blue
}

function setColor(color: Color) {
  // 设置颜色逻辑
}

setColor(1); // 错误:类型“1”的参数不能赋给类型“Color”的参数

在上面的例子中,我们定义了一个名为setColor的函数,它接受一个Color类型的参数。当我们尝试将数值1作为参数传递给setColor函数时,编译器会报错,因为类型不匹配。

总结起来,枚举参数在Typescript中不能接受数值,只能接受枚举中定义的常量值。这样可以提高代码的可读性和可维护性,避免了使用数值时可能出现的错误。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

TypeScript 函数 this 参数

TypeScript 2.0 开始,在函数和方法我们可以声明 this 类型,实际使用起来也很简单,比如: function sayHello(this: void) { // this:...void:表示在函数体内不允许使用this } 在上面的 sayHello 函数,this 参数是伪参数,它位于函数参数列表第一位。...在 getArea 方法我们没有使用 this 参数,此时 this 类型是 this,如下图所示: ?...Rectangle 长方形类不同,在 getArea 方法,我们使用了 this 参数,之后 this 类型是 Rectangle 类型,如下图所示: ?...在 Rectangle 长方形类 getArea 方法 this 入参只是作为一个形式上参数,供 TypeScript 做静态检查时使用,编译后并不会生成实际入参。

7.6K10
  • TypeScript 枚举类型理解?应用场景有哪些

    一、是什么 枚举是一个被命名整型常数集合,用于声明一组命名常数,当一个变量有几种可能取值时,可以将它定义为枚举类型 通俗来说,枚举就是一个对象所有可能取值集合 在日常生活也很常见,例如表示星期...SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就可以看成是一个枚举 枚举说明与结构和联合相似,其形式为: enum 枚举名{...标识符N[=整型常数], }枚举变量; 二、使用 枚举使用是通过enum关键字进行定义,形式如下: enum xxx { ... } 声明关键字为枚举类型方式如下: // 声明d为枚举类型Direction...let d: Direction; 类型可以分成: 数字枚举 字符串枚举 异构枚举 数字枚举 当我们声明一个枚举类型是,虽然没有给它们赋值,但是它们值其实是默认数字类型,而且默认从...,我们都可以通过枚举去定义,这样可以提高代码可读性,便于后续维护

    6610

    django ListView使用 ListView获取url参数值方式

    页面所在目录' template_name='caradmin/colortags/colortags.html' #自定义查询方法 def get_queryset(self): #获取url 值...后参数传入视图中,在视图中先将数据通过传递分类进行筛选,再将筛选后数据传递到页面进行渲染。 如果我们此时还做了分页展示,则将后端处理数据时分类值也传到页面,在我们点击分页时跳转地址?...后将分类值作为参数再次传递回后端进行处理。 第二种情况,只按照关键字查询: 和分类查询类似,将文本输入标签(例如text类型input)绑定事件,获取到输入值,将获取值作为地址?...后参入传递到后端。在后端通过地址后参数将数据进行模糊(constatins)筛选,再将筛选后商品和参数传递回前端,将数据在前端进行展示 当我们点击分页时,将查询值作为参数传递回后端。...ListView获取url参数值方式就是小编分享给大家全部内容了,希望能给大家一个参考。

    3.9K20

    Dynatrace抓取系统任何方法Method参数值

    概述¶ Dynatrace可以抓取运行系统任何方法参数值....一方面,该参数值可能会表明一些关键信息(如: 机构代码, 保单号, 入参传参...), 便于针对性分析问题; 另一方面,可以对业务相关参数抓取后进行整合分析, 如实时保单金额总数......具体步骤¶ 备注: 可以参考上一篇文章 非HTTP应用或批处理应用如何进行全链路监控 要抓取指定方法参数, 首先肯定知道方法是什么; 然后将该方法添加到Dynatrace 传感器规则....前三个是String类型,第四个是double,最后两个是string类型 如果要捕获哪一个参数, 就勾选第二列Capture 勾选框就可以了. 勾选确定后, 还是热部署或者重启生效....假如第四个参数是保单金额, 那么每一笔事务, 就能直接在Dynatrace 上看到该笔事务保单金额了. 最终效果如下: 这是一个在线旅游网站demo.

    43730

    腾讯内部干货分享——JMeter3种参数值传递

    小伙伴们在使用JMeter过程,肯定会遇到参数值传递问题,下面来和大家总结下,在使用JMeter做压力测试时候,常见3种参数值得传递是怎样。...添加后,我们需要填写其中必要参数,如Filename和Variable Names: ?...配置线程数为5,点击启动按钮运行后,看到结果如下: ? ? ? 可以看到,login.csv文件2个字段被当作参数值进行了传递。...例如,若要提取相应数据goodpraise字段作为下个接口输入的话,可以在该接口请求后面添加正则表达式提取器: ?...至此,JMeter3种参数值传递已全部讲解完,小伙伴们学会了吗~ 关于压力测试,腾讯WeTest有话说:WeTest压力简单模式已经上线啦!

    1.2K30

    【100个 Unity小知识点】 | C#通过 数字int值 获取 枚举Enum 数值

    Unity 小知识点学习 C# 通过数字int值获取枚举Enum方法 枚举 是 值类型 ,数据直接存储在栈,而不是使用引用和真实数据隔离方式来存储。...默认情况下,枚举第一个变量被赋值为0,其他变量值按定义顺序来递增(0,1,2,3…) enum枚举类型变量名字不能相同,但是值可以相同 如果enum部分成员显式定义了值,而部分没有;那么没有定义值成员还是会按照上一个成员值来递增赋值...方式来获取枚举值: Debug.Log("state:" + SlamStateChange.NotInitialized);//state:NotInitialized...SlamStateChange.Lost);//state:Lost Debug.Log("state:" + SlamStateChange.Tracking);//state:Tracking 也可以使用int值方法来获取枚举值...Unity端拿到这个值之后,通过判断这个int类型数值来判断当前应用程序状态。。 所以这里就可以使用int值方法来获取枚举值来完成状态更新。

    2.6K10

    《现代Typescript高级教程》枚举和泛型

    现代JavaScript高级小册 深入浅出Dart 现代TypeScript高级小册 枚举和泛型 接下来我们将学习TypeScript 两个重要主题:枚举(Enums)和泛型(Generics)。...这两个特性能大大提高代码可重用性和安全性。 枚举 枚举TypeScript 中一种特殊数据类型,允许我们为一组数值设定友好名字。枚举定义使用 enum 关键字。...泛型允许我们在定义函数、类或接口时使用类型参数,这些类型参数在使用时可以被动态地指定具体类型。 以下是泛型在 TypeScript 几个常见应用场景: 1....number 在上面的示例,identity函数接受一个类型参数T,表示输入和输出类型。...number 在上面的示例,我们定义了一个Container类,它接受一个类型参数T,表示类内部值类型。

    22210

    一个值得深思小问题 - 请求参数值为空要不要携带该参数

    我这朋友问题是这样,前端请求接口,带过去了一些参数,但是其中有个参数没值,也就是空,但是呢后端在接收该值时候没有类型判断(该字段是int类型),相当于直接把一个空字符串直接转为int类型。...比如,请求参数如下 name=bigerfe&age=&a=1 其中参数age是int类型,但是前端传了空,后端取参数时候报错了。...你可能会说,不携带这个参数和传空串完全是两个意义。 如果是你遇到了这个问题,你该怎样处理?接受还是反驳?能不能找到一个走不通场景? 。。。。。。。...接口规范为每个字段说明其类型,并且给出默认值 服务端做统一类型验证,不符合直接给出错误码 那是被什么样问题给拍回去了呢? 如果这个字段是必填,而且是空串,那这个字段可以带吗?...另外我们自己也不能处处依赖团队,时刻应该调整自己思考问题方向和思路,当遇到不合理方案时候,不要陷入代码层面去,也不要只考虑自身工作量,更不要被以往经验和习惯给束缚了,应该跳出代码,多考虑业务实际场景

    3.1K20

    TypeScript 基础类型:原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型

    TypeScript 强大类型系统使得开发者能够更轻松地编写可维护、可扩展代码。本文将详细介绍 TypeScript 基础类型,包括原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型。...原始类型在 TypeScript ,有以下几种原始类型:数字类型数字类型用于表示整数或浮点数。可以使用 number 关键字来声明数字变量。...可以使用 (参数类型) => 返回值类型 语法来声明函数类型。...例如:enum Color { Red, Green, Blue,}let color: Color = Color.Green;在枚举类型,每个枚举成员都有一个与它关联数字值,默认从 0 开始...也可以手动指定枚举成员数值。联合类型联合类型用于表示一个变量可以是多种类型之一。可以使用 类型1 | 类型2 | ... 语法来声明联合类型。

    57130

    TypeScript入门第一天,所有类型+基础用法+接口使用

    和JavaScript一样,TypeScript所有数字都是浮点数。支持十进制、十六进制、二进制、八进制字面量。...,可以赋值给(string | number)类型 枚举 enum 枚举类型用于定义数值集合,可以为一组数值赋予友好名字。...这里有个细节就是变量声明 : const是对let一个增强,它能阻止对一个变量再次赋值。如果在同一作用域内重复声明某个变量或常量就会报错,所有typescript内推荐使用它们来代替 var。...三、typescript接口 TypeScript核心原则之一是对值所具有的结构进行类型检查,接口是一系列抽象方法声明,是一些方法特征集合,这些方法都应该是抽象,需要由具体类去实现,然后第三方就可以通过这组抽象方法调用...: number; } //函数传入参数对象只有部分属性赋值了,这里只给接口来定义color赋值了 function createSquare(config: SquareConfig

    64300

    Web前端面试敲重点知识,14个TypeScript核心基础面试题和答案

    10、说说枚举TypeScript 是如何工作 ? 11、什么是参数解构 ?...函数是执行特定代码代码块 函数可以有选择地接受一个或多个参数,处理它们,并有选择地返回一个值。 image.png 8、如何在 TypeScript 创建对象 ?...对象类型可以具有零个或多个可选属性,在属性名称之后 image.png 10、说说枚举TypeScript 是如何工作 ?...枚举允许我们创建命名常量,这是一种为数字常量值赋予更友好名称简单方法 枚举由关键字 enum 定义,后跟其名称和成员。 image.png 11、什么是参数解构 ?...参数解构,允许函数将作为参数提供对象结构到一个或多个局部变量 image.png 12、说说TypeScript for 循环不同变体 TypeScript 提供了以下三种循环集合方法 image.png

    11.5K10

    深入类型系统_TypeScript笔记8

    语句 二.子类型兼容性 TypeScript13种基本类型,类型层级关系如下: ?...),反过来的话是安全,因为返回值类型相同,参数绰绰有余,msg类型也兼容(string是any子类型) 具体TypeScript类型系统对函数类型兼容性判定规则如下: 参数:要求对应参数类型兼容...不接受undefined 相反地,如果子类重写后参数类型更“宽”,那么就是安全,例如: class Example { foo(maybe: number | undefined) { } }class...例如函数类型Animal => string是Cat => string子类型(因为后者接受参数更“窄”),而简单类型Animal是Cat父类型,那么函数类型就是逆变 P.S.如我们所见,逆变并不直观...,例如: enum Status { Ready, Waiting }; // 数值兼容枚举值 let ready: number = Status.Ready; // 枚举值兼容数值 let waiting

    98840

    通过五个真实应用场景,深入理解如何使用 TypeScript 枚举(enum)

    4、实现面积计算函数: calculateArea 函数接受一个 Shape 类型参数,通过 switch 语句检查 type 属性,根据不同形状类型执行相应面积计算。...五、使用枚举作为数据结构 这个 TypeScript 示例展示了如何使用枚举来表示扑克牌花色、等级以及根据花色派生颜色属性。...Rank 枚举定义了扑克牌等级,从 Ace 到 King。 2、获取牌值函数: getCardValue 函数接受一个 Rank 类型参数,并返回该牌数值。...4、创建牌函数: createCard 函数接受花色和等级作为参数,并返回一个 Card 对象。该函数根据花色来设置颜色属性。...这个示例展示了如何使用 TypeScript 枚举和接口来创建一个简单扑克牌模型。通过枚举,我们可以确保花色和等级类型安全,通过接口,我们可以定义牌结构,使代码更加清晰和易于维护。

    27110

    TypeScript 官方手册翻译计划【二】:普通类型

    这样字符串值 number 表示类似 42 这样数值。...TypeScript 允许你指定函数输入和输出类型。 参数类型注解 当你声明一个函数时候,你可以在每个参数后面添加类型注解,从而声明函数可以接受什么类型参数。...举个例子,下面是一个接受对象类型作为参数函数: // 参数类型注解是一个对象类型 function printCoord(pt: { x: number; y: number }) { console.log...枚举 枚举TypeScript 添加到 JavaScript 一项特性。它允许描述一个值,该值可以是一组可能命名常量一个。...与大多数 TypeScript 特性不同,枚举不是在类型层面添加到 JavaScript ,而是添加到语言本身和它运行时中。

    2.2K20

    TypeScript keyof 操作符

    对象上不同属性,可以具有完全不同类型,我们甚至不知道 obj 对象长什么样。 那么在 TypeScript 如何定义上面的 prop 函数呢?...我们来尝试一下: function prop(obj: object, key: string) { return obj[key]; } 在上面代码,为了避免调用 prop 函数时传入错误参数类型...obj[key]; } 在以上代码,我们使用了 TypeScript 泛型和泛型约束。...这就阻止我们尝试读取不存在属性。 三、keyof 与对象数值属性 在使用对象数值属性时,我们也可以使用 keyof 关键字。...首先定义了一个 Currency 枚举用于表示三种货币类型,接着定义一个 CurrencyName 对象,该对象使用数值属性作为键,对应值是该货币类型名称。

    8K40
    领券