interview
frontend-classic
TypeScript的内置数据类型有哪些?

前端经典面试题合集, TypeScript 的内置数据类型有哪些?

前端经典面试题合集, TypeScript 的内置数据类型有哪些?

QA

Step 1

Q:: TypeScript 的内置数据类型有哪些?

A:: TypeScript 内置了多种数据类型,包括:1. 基本类型(Primitive Types):number、string、boolean、null、undefined、symbol、bigint;2. 对象类型(Object Types):包括数组(Array)、元组(Tuple)、枚举(Enum)、类(Class)、接口(Interface)等;3. 特殊类型:any、unknown、never、void。

Step 2

Q:: 什么是 TypeScript 中的元组(Tuple)?

A:: 元组(Tuple)是一种特殊的数组类型,它允许定义一个已知元素数量和类型的数组。元组中的元素可以是不同的类型,例如:let person: [string, number] = ['Alice', 25]

Step 3

Q:: TypeScript 中的接口(Interface)有什么作用?

A:: 接口(Interface)用于定义对象的类型。它可以用来描述对象的形状(shape),可以包含属性和方法。接口不仅可以用来对类进行类型检查,还可以用来约束函数、数组、类等多种结构。例如:interface Person { name: string; age: number; }

Step 4

Q:: TypeScript 中的类型别名(Type Alias)和接口有什么区别?

A:: 类型别名(Type Alias)和接口都可以用来定义对象的类型,但类型别名可以表示更多类型(例如联合类型、交叉类型),而接口更适合定义对象结构和类的实现。类型别名通过 type 关键字定义,例如:type Point = { x: number; y: number; }

Step 5

Q:: TypeScript 中的类型断言(Type Assertion)是什么?

A:: 类型断言(Type Assertion)用于手动指定一个值的类型,告诉编译器该值在特定上下文中具有特定类型。类型断言有两种语法:1. 尖括号语法:<类型>值;2. as 语法:值 as 类型。例如:let someValue: any = 'hello'; let strLength: number = (someValue as string).length。

用途

面试 TypeScript 的内置数据类型非常重要,因为它们是 TypeScript 语言的基础。理解这些类型及其用法,可以帮助开发者编写更安全、可维护性更高的代码。在实际生产环境中,正确使用类型可以防止很多运行时错误,提高代码的可读性和可维护性。例如,在处理复杂的数据结构、与后端接口对接、实现大规模项目时,类型系统的作用尤为显著。\n

相关问题

🦆
TypeScript 中的联合类型Union Types和交叉类型Intersection Types是什么?

联合类型(Union Types)表示一个值可以是几种类型之一,通过 | 分隔;交叉类型(Intersection Types)表示一个值是几种类型的组合,通过 & 分隔。例如:let value: string | number; let person: Person & Serializable。

🦆
TypeScript 中的泛型Generics是什么?

泛型(Generics)是一种使类型变量化的方式,允许编写更加通用和灵活的代码。泛型可以应用于函数、类、接口等。例如:function identity<T>(arg: T): T { return arg; }

🦆
TypeScript 如何处理类型推断Type Inference?

TypeScript 具有强大的类型推断机制,可以在没有显式声明类型的情况下推断出变量、函数返回值等的类型。例如:let x = 10; // TypeScript 推断 x 为 number 类型。

🦆
什么是 TypeScript 中的枚举Enum?

枚举(Enum)是一种为数值集合赋予友好名称的方式。它可以是数字枚举或字符串枚举。例如:enum Color { Red, Green, Blue };let c: Color = Color.Green。

🦆
TypeScript 中的类型保护Type Guards是什么?

类型保护(Type Guards)是 TypeScript 中的一种表达式,用于在运行时检查以确保某变量属于特定类型。常见的类型保护有 typeof、instanceof、in 和用户自定义类型保护函数。例如:if (typeof value === 'string') { // value 是 string 类型。}