TypeScript 的基本概念、类型以及与 JavaScript 的关系(个人学习向)

35 阅读2分钟

TypeScript 是一种由微软开发的开源编程语言,是 JavaScript 的超集。它为 JavaScript 添加了静态类型和其他功能,使得开发大型应用变得更加高效和安全。

1. 基本概念

  • 超集

    • TypeScript 是 JavaScript 的超集,这意味着所有有效的 JavaScript 代码都是有效的 TypeScript 代码。你可以逐渐将现有的 JavaScript 项目转换为 TypeScript。
  • 编译

    • TypeScript 代码需要编译成 JavaScript 才能在浏览器或 Node.js 中运行。TypeScript 编译器会将 .ts 文件转换为 .js 文件。
  • 静态类型

    • TypeScript 的主要特性是静态类型,允许开发者在编写代码时定义变量的类型,从而在编译时捕获错误。

2. 类型系统

TypeScript 的类型系统非常灵活,主要包括以下几个方面:

a. 基本类型

  • 数字(number)

    let age: number = 30;
    
  • 字符串(string)

    let name: string = 'Alice';
    
  • 布尔值(boolean)

    let isActive: boolean = true;
    

b. 数组和元组

  • 数组

    let numbers: number[] = [1, 2, 3];
    
  • 元组

    let tuple: [string, number] = ['Alice', 25];
    

c. 枚举(Enum)

  • 枚举用于定义一组命名的常量。
    enum Color {
      Red,
      Green,
      Blue
    }
    

d. 对象类型

  • 定义对象的类型结构。
    interface Person {
      name: string;
      age: number;
    }
    let person: Person = { name: 'Alice', age: 25 };
    

e. 函数类型

  • 可以定义函数的参数和返回值类型。
    function add(x: number, y: number): number {
      return x + y;
    }
    

f. 联合类型

  • 允许一个变量可以是多种类型之一。
    let value: string | number;
    value = 'Hello'; // OK
    value = 123;     // OK
    

g. 类型推断

  • TypeScript 可以根据上下文推断变量的类型。
    let count = 10; // Type inferred as number
    

3. 与 JavaScript 的关系

  • 兼容性

    • TypeScript 兼容 JavaScript,任何有效的 JavaScript 代码都是有效的 TypeScript 代码。
  • 增强功能

    • TypeScript 提供了类型检查和其他功能(如接口、类、命名空间等),使得代码更具可读性和可维护性。
  • 工具支持

    • TypeScript 提供了更好的 IDE 支持,许多现代编辑器(如 Visual Studio Code)都能提供语法高亮、自动补全和类型检查等功能。
  • 编译成 JavaScript

    • TypeScript 代码在运行之前必须被编译成 JavaScript,因此,它可以在所有支持 JavaScript 的环境中运行。