当前位置: 首页 > news >正文

TypeScript 面试题

对类型声明和类型检测的认识:

在 TypeScript 中,通过类型声明来指定变量的类型;指定类型后,当为变量赋值时,TS 编译器会自动进行类型检测,检查值是否符合指定的类型,符合则赋值,否则报错。

对类型推断的认识:

在声明一个变量时,如果有直接赋值,TypeScript 会根据值的类型推断出类型注解,这就是类型推断。

对类型断言的认识:

类型断言:可以用来手动指定一个值的类型。语法为 值 as 类型 或者 <类型> 值

TypeScript 有哪些基本类型:

TypeScript 中的基本类型有:字符串类型 string、数字类型 number、布尔类型 boolean、undefined、null、数组类型、对象类型、Symbol 类型、元组类型 tuple、任意类型 any、未知类型 unknown、空值类型 void、没有值类型 never、字面量类型 literal、内置对象。
TypeScript 还允许使用多种运算符,从现有类型中构建新的类型,例如联合类型和交叉类型。

any 类型和 unknown 类型的区别:

  1. 在 any 类型的变量上直接做任何事都是合法的。
  2. 在 unknown 类型的变量上直接做任何事都是非法的,必须要先进行类型缩小,经过校验,才能根据缩小之后的类型进行对应的操作。

void 空值和 never 没有值类型的区别:

  1. 空值通常用来指定一个函数没有返回值。
  2. 没有值通常用来指定一个函数的返回值永远不会有任何结果,例如:抛出异常、死循环等。实际业务开发中基本不会用到,开发框架或者工具的时候才有可能会用到(可能会用于做一定的校验)。

对接口的认识:

接口以 interface 开头,一般用于两种情况,一是对对象的形状进行描述,此时和类型声明类似;二是对类的一部分行为进行抽象,可以使用 implements 去实现一个接口,也就是说,接口中定义的所有属性和方法,类中都必须实现。

接口和类型别名的区别:

  1. Type 使用范围更广;interface 只能用来声明对象。
  2. Type 不允许两个相同名称的别名存在;interface 可以多次声明同一个接口名称,并且接口最终的定义是加起来的总和。
  3. Type 不支持继承,interface 支持继承。

对泛型的认识:

泛型:宽泛的类型,其实就是类型的参数化,让类型像参数一样,不预先指定,而是在使用的时候再让别人传入进来。

常见的内置工具:

  1. Partial<Type>:用于构造一个所有属性都为可选属性的类型。
  2. Required<Type>:用于构造一个所有属性都为必选属性的类型。
  3. Readonly<Type>:用于构造一个所有属性都只读的类型。
  4. ReturnType<Type>:用于构造一个从函数类型中提取出来其返回值类型的类型。
  5. InstanceType<Type>:用于构造一个从构造函数类型中提取出来其实例类型的类型。

相关文章:

  • 直线导轨尺寸参数
  • 在Autonomous DB中创建训练数据集
  • 机试刷题_数组中出现次数超过一半的数字【python】
  • Linux上Elasticsearch 集群部署指南
  • UE5中的四元数
  • 【kafka系列】日志存储设计 消息写入、读取
  • 基于CXL内存的热数据检测技术解读
  • SpringCloud面试题----如何保证 Spring Cloud 微服务的安全性
  • 【MySQL】数据库基础知识
  • 数据库脚本MySQL8转MySQL5
  • 基于角色访问控制的UML 表示02
  • 【Python】函数
  • Java八股文详细文档.2(基于黑马、ChatGPT、DeepSeek)
  • springboot与springcloud对应版本
  • 【Java学习】类和对象
  • qt QRadioButton 总结
  • C++11新特性之别名模版
  • Python--网络编程
  • 【C++前缀和】1906. 查询差绝对值的最小值|2146
  • DeepSeek-R1-Distill-Qwen-1.5B模型的深度解析
  • 陕西榆林:全力推进榆林学院升格榆林大学
  • 时隔3年俄乌直接谈判今日有望重启:谁参加,谈什么
  • 广西北部湾国际港务集团副总经理潘料庭接受审查调查
  • 金砖国家召开经贸联络组司局级特别会议,呼吁共同抵制单边主义和贸易保护主义
  • 袁思达已任中国科学院办公厅主任
  • AI含量非常高,2025上海教育博览会将于本周五开幕