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

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

6、TypeScript 中声明变量有哪些不同关键字? 7、如何书写带有类型注释函数 ? 8、如何在 TypeScript 中创建对象 ? 9、如何在 TypeScript 中指定可选属性 ?...它们类似于数组,有时也称为关联数组 但是,数组使用数字来索引值,而对象允许使用任何其他类型作为键 image.png 9、如何在 TypeScript 中指定可选属性 ? 通过添加 ?...对象类型可以具有零个或多个可选属性,在属性名称之后 image.png 10、说说枚举在 TypeScript 中是如何工作 ?...枚举允许我们创建命名常量,这是一种为数字常量值赋予更友好名称简单方法 枚举由关键字 enum 定义,后跟其名称和成员。 image.png 11、什么是参数解构 ?...TypeScript 提供了三个关键字来控制类成员可见性 public:您可以在 class 外任何地方访问公共成员。默认情况下,所有类成员都是公共

11.4K10

Protobuf3语法详解

(message),域没有被设置,确切消息是根据语言确定,详见generated code guide 对于可重复默认值是空(通常情况下是对应语言中空列表)。...因为enum值是使用可变编码方式,对负数不够高效,因此推荐在enum中使用负数。如上例所示,可以在 一个消息定义内部或外部定义枚举——这些枚举可以在.proto文件中任何消息定义里重用。...在使用封闭枚举类型语言中(Java),使用枚举一个类型来表示未识别的值,并且可以使用所支持整型来访问。在其他情况下,如果解析消息被序列号,未识别的值将保持原样。...关于如何在应用程序消息中使用枚举更多信息,请查看所选择语言generated code guide 使用其他消息类型 你可以将其他消息类型用作字段类型。...(foo_bar.proto生成java类名为FooBar.java),如果生成java代码,则该选项起任何作用。

5.4K62
您找到你想要的搜索结果了吗?
是的
没有找到

Protobuf 语言指南(proto3)

有关默认值如何在生成代码中工作更多详细信息,请参阅所选语言生成代码指南。 枚举 当你定义一个消息时候,你可能希望它其中某个字段一定是预先定义好一组值中一个。...在具有封闭枚举类型(Java)语言中,枚举大小写用于表示无法识别的值,并且可以使用特殊访问器访问基础整数。在任何一种情况下,如果消息被序列化,则仍然会使用消息序列化无法识别的值。...在破坏任何现有代码情况下更新消息类型非常简单。请记住以下规则: 请勿更改任何现有字段字段编号。 如果添加新字段,则使用“旧”消息格式按代码序列化任何消息仍可由新生成代码进行解析。...使用proto字段名称而不是小写驼峰名称:默认情况下,proto3 JSON打印机应将字段名称转换为小写驼峰并将其用作JSON名称。实现可以提供使用proto字段名称作为JSON名称选项。...Proto3 JSON解析器需要接受转换后小写驼峰名称和proto字段名称。 将枚举值发送为整数而不是字符串:默认情况下,在JSON输出中使用枚举名称

5.1K40

C 语言结构体和枚举完全指南:成员访问、字符串操作、枚举基础

= 13; s1.myLetter = 'B'; s2.myNum = 20; s2.myLetter = 'C'; 如何在结构体中使用字符串?...要创建枚举,请使用 enum 关键字,后跟枚举名称,并用逗号分隔枚举项: enum Level { LOW, MEDIUM, HIGH }; 注意,最后一个项目不需要逗号。...在 main() 方法中,指定 enum 关键字,后跟枚举名称 (Level) 和枚举变量名称 (myVar): enum Level myVar; 现在您已创建了一个枚举变量 (myVar),可以为其分配一个值...分配值必须是枚举项目之一 (LOW、MEDIUM 或 HIGH): enum Level myVar = MEDIUM; 默认情况下,第一个项目 (LOW) 值为 0,第二个 (MEDIUM).../ 打印枚举变量 printf("%d", myVar); return 0; } 更改值 您所知,枚举第一个项目的值为 0。

20200

如何优雅地在JS中使用枚举定义

Contents 1 如何优雅地在JS中使用枚举 1.1 为什么使用枚举 1.2 如何解释 1.3 关于 如何优雅地在JS中使用枚举 为什么使用枚举 去魔法数字 枚举语义化 定义一体化:枚举值和枚举描述写在了一起...|| status === STATUS.ERROR){ console.log('statu',status) } 通过简单改造,我们有了一种新使用方式,事先定义一个对象,每个键对应相关值...,每一个定义值与描述都要分开重写,这样造成大量重复性工作 使用方便:无需额外过滤器 我们自定义一个createEnum方法 /** * 枚举定义工具 * 示例: * const STATUS...STATUS.ERROR){ console.log('statu',status) } 当前状态:{STATUS.getDescFromValue(status)} 也可用通过枚举名称获取描述...:{STATUS.getDesc('AUDITING')} 关于 由于js没有枚举这一概念,借助JAVA思想,我们编写创建枚举方法 本文首发于:如何在JS中使用枚举定义

1.9K20

《前端那些事》如何更好管理 Api 接口

这里涉及到vue插件使用,vue 插件一般来用进行如下几种操作 添加全局方法或者 property。:vue-custom-element 添加全局资源:指令/过滤器/过渡等。...(上文使用是这种操作) 一个库,提供自己 API,同时提供上面提到一个或多个功能。 vue-router Vue.js 插件需要暴露一个 install 方法。...如何在项目中调用 因为已经挂载在vue对象原型上,可以使用this....,且挂载在vue对象原型中方便调用,一目了然,劣势在于重复代码还是偏多,接下来让我们一起看看下面的这种方式 2.2 方式二....❞ Object.defineProperty对应三个数值 obj 要在其上定义属性对象。 prop要定义或修改属性名称

2.9K31

《前端那些事》如何更好管理 Api 接口

(上文使用是这种操作) 一个库,提供自己 API,同时提供上面提到一个或多个功能。 vue-router Vue.js 插件需要暴露一个 install 方法。...这个方法第一个参数是 Vue 构造器,第二个参数是一个可选选项对象,上图解析出来如下所示 ? 最后在main.js中通过全局方法 Vue.use() 使用插件向下所示? ?...如何在项目中调用 因为已经挂载在vue对象原型上,可以使用this.$api去调模块 ? 聊到你可能疑惑就是,你这接口路径不对啊,怎么是相对路径呢?...Object.defineProperty对应三个数值 obj 要在其上定义属性对象。 prop要定义或修改属性名称。 descriptor将被定义或修改属性描述符 举个例子如下? ?...同样下面几种方式也是同样思路(只返回给定对象自身可枚举属性) ? 一不小心又聊偏了,回归正题,当我们成功导出API配置文件后,接下来就是如何使用了 如何使用 将配置挂载到vue对象原型上 ?

3.3K30

Python 枚举

颜色枚举有7个成员,分别是Color.red、Color.orange、Color.yellow等。 每一个成员都有它们各自名称和值,Color.red成员名称是:red,值是:1。...【*注:用class定义类,实际上就是一种类型】 1.1 定义枚举时,成员名称不允许重复 from enum import Enum class Color(Enum): red = 1...枚举取值 2.1 通过成员名称来获取成员 Color['red'] 2.2 通过成员值来获取成员 Color(2) 2.3 通过成员,来获取它名称和值 red_member = Color.red...3.2 如果枚举有值重复成员,循环遍历枚举时只获取值重复成员第一个成员 from enum import Enum class Color(Enum): red = 1 orange...我们说class定义是运行时动态创建,而创建class方法就是使用type()函数。

58610

c++枚举类型enum输出_python中枚举

Enum枚举:枚举是一组命名整型常量,枚举类型是使用 enum 关键字声明。...枚举是值类型,数据直接存储在栈中,而不是使用引用和真实数据隔离方式来存储,其包含自己值,且不能被继承或者传递继承,枚举中每个元素基础类型是 int。可以使用冒号指定另一种整数值类型。...1. enum_name 指定枚举类型名称。...默认情况下,第一个枚举符号值是 0; 举例说明: class Program//类名 { enum Sss//枚举名 { //枚举内容,用逗号进行隔开列表 吃饭, 睡觉, 打豆豆, 打游戏...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1.5K40

CA1700:不要用“Reserved”命名枚举

值 规则 ID CA1700 类别 命名 修复是中断修复还是非中断修复 重大 原因 枚举成员名称包含单词“reserved”。...规则说明 此规则假定当前不使用名称中包含“reserved”枚举成员,而是将其作为一个占位符,以在将来版本中重命名或移除它。 重命名或移除成员是一项重大更改。...主要问题是,如果不中断对包含整个成员列表返回值使用 switch(在 Visual Basic 中为 Select)语句并且在默认情况下引发异常调用方,则不能从现有代码路径返回新成员。...第二个问题是客户端代码可能无法处理反射方法( System.Enum.IsDefined)行为更改。...因此,如果新成员必须从现有方法返回,或者由于反射使用不当而发生已知应用程序兼容,则唯一非中断性解决方案是: 添加包含原始成员和新成员枚举

47200

你需要知道Java枚举知识

枚举类型符合通用模式Class Enum>,而E表示枚举类型名称。...:ColorEnum color = ColorEnum.valueOf("RED");。...EnumSet保证集合中元素不重复;EnumMap中key是enum类型且不能为null,而value则可以是任意类型。EnumSet和EnumMap内部以数组来实现,性能更好。...总结 枚举类也是一个特殊类,构造方法默认修饰符是private(不管写写),它们都可以定义一些属性和方法,但是不能使用extends关键字继承其他类,因为enum已经继承了java.lang.Enum...枚举最大缺点是:相对于普通常量会占用更多内存。所以,我还是建议大面积使用枚举来替代整形常量。但是如果这些常量还有关联属性或者行为等,那么强烈推荐使用枚举类型。

51920

听GPT 讲Rust源代码--compiler(36)

通过这个结构体,编译器可以对代码中使用特性进行合法性检查,防止使用未启用或兼容特性。...FileWriteFail:表示文件写入失败错误。 CrateNameDoesNotMatch:表示Crate名称与文件名匹配错误。...IncompatibleLinkerFlavor:表示兼容链接器类型错误。 枚举类型: InvalidCrateNameHelp:表示无效Crate名称错误帮助类型。...FieldKind(字段类型)枚举类型用于表示字段类型,结构体字段、元组字段、枚举类型变体等。 DataTypeKind(数据类型)枚举类型用于表示不同数据类型,整数、浮点数、指针等。...为了更好地描述宏语法,mbe.rs中还使用了KleeneOp和KleeneToken这两个枚举类型。KleeneOp表示重复操作一种类型,例如0次或多次重复,1次或多次重复等。

8210

Protobuf生成Go代码指南

如果一个 .proto文件中包含package声明,生成源代码将会使用 .proto文件文件名(去掉扩展名)作为Go包名, .会被首先转换为 _。...可重复字段 每个重复字段在Go中结构中生成一个T类型slice,其中T是字段元素类型。...对于可重复枚举 repeatedMyEnumbar=2;,编译器会生成带有类型为 []MyEnum名为 Bar字段Go结构体。...= 0; BAR_BELLS = 1; BAR_B_CUE = 2;} Go 中类型不会对proto中枚举名称进行修改: type Foo int32 此类型具有 String()方法,该方法返回给定值名称...Enum()方法使用给定值初始化新分配内存并返回相应指针: func (Foo) Enum() *Foo 编译器为枚举每个值生成一个常量。

5.5K40

【深入浅出C#】章节 2:数据类型和变量:类型转换和类型推断

枚举类型转换:可以将一个枚举类型转换为其底层整数类型,枚举类型转换为int。这样可以在需要使用整数类型场景中进行操作。...将较小范围浮点数类型(float)转换为较大范围浮点数类型(double)。 枚举类型和基础类型之间转换: 将枚举类型值隐式转换为其基础类型(通常是整数类型)。...LINQ 查询:使用 var 来存储查询结果,可以使代码更加简洁易读。 匿名类型:当创建一个包含一组属性匿名类型时,使用 var 可以避免重复写出长长类型名称。...长类型名称初始化:当使用某个类型构造函数进行初始化时,使用 var 可以避免重复写出类型名称。...在某些情况下,如果初始化表达式不够清晰或有歧义,使用具体类型名称可能更好,以提高代码可读性和维护性。

28810

深入分析Javaenum

创建枚举类型是需要用到enum关键字,: public enum Color{ RED, GREEN, BLUE, BLACK, PINK, WHITE; } enum语法看似与class...:枚举类型符合通用模式 Class Enum>,而 E 表示枚举类型名称。...EnumSet保证集合中元素不重复;EnumMap中 key是enum类型,而value则可以是任意类型。...默认情况下枚举类会给所有的枚举变量一个默认次序,该次序从0开始,类似于数组下标。而.ordinal()方法就是获取这个次序(或者说下标) 枚举变量compareTo()方法。...name变量就是枚举变量字符串形式。 还有一些其他方法我就暂时介绍了,感兴趣的话可以自己去看看文档或者源码,都挺简单。 要点: 使用是enum关键字而不是class。

1.3K110

啥?你居然不知道MapStruct

由于BeanUtils.copyProperties ()采用是反射,实际上当重复调用时效率是比较低。...可以通过为目标对象添加参数并使用@MappingTarget标记此参数来实现此类映射。 例如Student我们将学生类名字和年龄映射到VO中,但是创建新实例。...默认情况下,源枚举每个常量都映射到目标枚举类型中具有相同名称常量。如果需要,可以使用@ValueMapping注解将源枚举常量映射到具有其他名称常量。...Student中是SexEnum枚举,而StudentVO中是Sex2Enum,且枚举值是一致时,我们需要将Student中映射到StudentVO中,此时只需要使用@Mapping来指定映射源和目标源名称即可...当枚举值一样时,直接使用@Mapping来指定映射源和目标源名称即可 当枚举值不一致时,使用@ValueMapping注解。

2.3K31

数据治理系列:一个数据质量监控系统自我修养

元数据中取得 2、监控规则配置表 说明: task_id:即上一张表id,调度时使用 databaseName:指定数据库名称 table_name: 指定表名称 part_flag: 是否为分区表标志...银行储值卡在“消费、转账、提现”三种业务类型,枚举值个数某天少了一种或多种业务类型,可能是上游业务系统出现问题,或数据采集时丢失数据。...枚举值集合有效 对枚举值字段枚举值种类内容集合监控指标,可配置“包含、相等、包含”与期望值集合比较。...银行储值卡在“消费、转账、提现”三种业务类型,出现了“消费、转账、贷款”三种业务类型,虽然枚举值个数也是3种,但是枚举值内容有误。 唯一性 是否重复 对主键是否存在重复数据监控指标。...在这种情况下,实现了表结构变更动态感知功能,把涉及到变更了字段监控规则置为无效,并发出通知。

2.6K53

使用 AD 诱饵检测 LDAP 枚举和Bloodhound Sharphound 收集器

何在 Active Directory 环境中检测 Bloodhound SharpHound 收集器和 LDAP 侦察活动完成枚举。...在后端,Sharphound 使用 LDAP 查询从 Active Directory 收集数据,您在代码中所见: https://github.com/BloodHoundAD/SharpHound...我们将查看它在后端运行 LDAP 查询,并将尝试检测 Sharphound 枚举以及 LDAP 查询是否在没有 Sharphound 情况下发送。...枚举 我们还将使用ADFind工具执行正常 LDAP 枚举。...对诱饵组帐户枚举尝试: image.png 对诱饵计算机帐户枚举尝试: image.png 对诱饵用户帐户枚举尝试: image.png 注意:正如您在上面的屏幕截图中看到,事件查看器显示了对象名称和对象类型

2.5K20
领券