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

参考回答

TypeScript 的内置数据类型主要包括:
1. 基本数据类型
number:表示所有数字类型(整数和浮动小数)。
string:表示文本数据。
boolean:表示布尔值(truefalse)。
void:表示没有返回值的函数类型,通常用于函数返回值类型。
null:表示一个空值或无效值。
undefined:表示一个未定义的变量值。
symbol:表示独一无二的值,通常用于对象属性的唯一标识。

  1. 特殊数据类型
    • any:表示任意类型,可以赋予任何类型的值,绕过类型检查。
    • unknown:与 any 类似,但必须进行类型检查后才能使用。
    • never:表示永远不会出现的值,通常用于函数抛出错误或无限循环的情况。
  2. 对象类型
    • object:表示非原始类型(即除 numberstringbooleansymbolnullundefined 外的所有类型)。

详细讲解与拓展

  1. 基本数据类型
    • number:TypeScript 中的 number 可以表示整数、浮动小数和特殊值如 NaNInfinity。它并不区分整数和浮点数。

      示例:

      let age: number = 25;
      let pi: number = 3.14;
      
  • string:用于表示字符串。可以使用单引号、双引号或反引号来表示字符串。

    示例:

    “`typescript
    let name: string = “Alice”;
    let greeting: string = `Hello, ${name}`; // 模板字符串
    “`

  • boolean:表示布尔值,只有 truefalse 两个值。

    示例:

    “`typescript
    let isActive: boolean = true;
    let hasPermission: boolean = false;
    “`

  • void:表示没有任何类型,常用于函数的返回类型,当函数没有返回值时使用 void

    示例:

    “`typescript
    function logMessage(message: string): void {
    console.log(message);
    }
    “`

  • nullundefined:这两个类型表示空值和未定义的值,null 用于指示空对象引用,而 undefined 表示变量未赋值。

    示例:

    “`typescript
    let empty: null = null;
    let notAssigned: undefined = undefined;
    “`

  • symbol:一种用于生成唯一标识符的类型,通常用于对象的属性键。

    示例:

    “`typescript
    let uniqueSymbol: symbol = Symbol('unique');
    “`

  1. 特殊数据类型

    • anyany 类型可以接收任何类型的值,绕过类型检查,因此在使用时需要谨慎。它是最不安全的类型。

      示例:

      let anything: any = 5;
      anything = "Hello";
      anything = true;
      
  • unknownunknown 类型是 any 类型的安全版本,赋值给 unknown 类型的变量时,必须进行类型检查。

    示例:

    “`typescript
    let result: unknown = "hello";
    if (typeof result === "string") {
    console.log(result.length); // 通过类型检查后才能使用
    }
    “`

  • nevernever 用于表示一个函数永远不会有返回值,通常用于抛出异常或者进入死循环的函数。

    示例:

    “`typescript
    function throwError(message: string): never {
    throw new Error(message);
    }

    function infiniteLoop(): never {
    while (true) {}
    }

    “`

  1. 对象类型

    • object:表示除基本数据类型外的所有类型,比如函数、数组、类等。它没有详细指定具体的结构或行为。

      示例:

      let person: object = { name: "Alice", age: 25 };
      let data: object = [1, 2, 3];
      

总结
TypeScript 的内置数据类型包括基本数据类型(如 numberstringboolean 等)、特殊数据类型(如 anyunknownnever 等)以及对象类型(如 object)。这些数据类型使得 TypeScript 提供了更强的类型检查和更灵活的类型定义,从而增强了代码的可读性和安全性。

发表评论

后才能评论