TypeScript 的内置数据类型有哪些?
参考回答
TypeScript 的内置数据类型主要包括:
1. 基本数据类型:
– number:表示所有数字类型(整数和浮动小数)。
– string:表示文本数据。
– boolean:表示布尔值(true 或 false)。
– void:表示没有返回值的函数类型,通常用于函数返回值类型。
– null:表示一个空值或无效值。
– undefined:表示一个未定义的变量值。
– symbol:表示独一无二的值,通常用于对象属性的唯一标识。
- 特殊数据类型:
any:表示任意类型,可以赋予任何类型的值,绕过类型检查。unknown:与any类似,但必须进行类型检查后才能使用。never:表示永远不会出现的值,通常用于函数抛出错误或无限循环的情况。
- 对象类型:
object:表示非原始类型(即除number、string、boolean、symbol、null和undefined外的所有类型)。
详细讲解与拓展
- 基本数据类型:
number:TypeScript 中的number可以表示整数、浮动小数和特殊值如NaN和Infinity。它并不区分整数和浮点数。示例:
let age: number = 25; let pi: number = 3.14;
string:用于表示字符串。可以使用单引号、双引号或反引号来表示字符串。示例:
“`typescript
let name: string = “Alice”;
let greeting: string = `Hello, ${name}`; // 模板字符串
“`-
boolean:表示布尔值,只有true或false两个值。示例:
“`typescript
let isActive: boolean = true;
let hasPermission: boolean = false;
“` -
void:表示没有任何类型,常用于函数的返回类型,当函数没有返回值时使用void。示例:
“`typescript
function logMessage(message: string): void {
console.log(message);
}
“` -
null和undefined:这两个类型表示空值和未定义的值,null用于指示空对象引用,而undefined表示变量未赋值。示例:
“`typescript
let empty: null = null;
let notAssigned: undefined = undefined;
“` -
symbol:一种用于生成唯一标识符的类型,通常用于对象的属性键。示例:
“`typescript
let uniqueSymbol: symbol = Symbol('unique');
“`
-
特殊数据类型:
any:any类型可以接收任何类型的值,绕过类型检查,因此在使用时需要谨慎。它是最不安全的类型。示例:
let anything: any = 5; anything = "Hello"; anything = true;
unknown:unknown类型是any类型的安全版本,赋值给unknown类型的变量时,必须进行类型检查。示例:
“`typescript
let result: unknown = "hello";
if (typeof result === "string") {
console.log(result.length); // 通过类型检查后才能使用
}
“`-
never:never用于表示一个函数永远不会有返回值,通常用于抛出异常或者进入死循环的函数。示例:
“`typescript
function throwError(message: string): never {
throw new Error(message);
}function infiniteLoop(): never {
while (true) {}
}“`
-
对象类型:
object:表示除基本数据类型外的所有类型,比如函数、数组、类等。它没有详细指定具体的结构或行为。示例:
let person: object = { name: "Alice", age: 25 }; let data: object = [1, 2, 3];
总结:
TypeScript 的内置数据类型包括基本数据类型(如 number、string、boolean 等)、特殊数据类型(如 any、unknown、never 等)以及对象类型(如 object)。这些数据类型使得 TypeScript 提供了更强的类型检查和更灵活的类型定义,从而增强了代码的可读性和安全性。