返回

TypeScript - 一种强大而灵活的 JavaScript 超集语言

前端

TypeScript的基本语法

TypeScript是一种强类型化的编程语言,它继承了JavaScript的语法,并在其基础上增加了类型注解。TypeScript的类型注解可以帮助开发人员在编码时捕获更多错误,从而提高代码的质量和可维护性。

变量

TypeScript中的变量需要先声明类型,然后才能赋值。变量的声明语法如下:

let name: string = "John Doe";

在上面的例子中,我们声明了一个名为name的变量,它的类型是string,并将其值设置为"John Doe"

数据类型

TypeScript支持多种数据类型,包括:

  • 基础类型:numberstringbooleanundefinednull
  • 联合类型:允许变量同时拥有多种类型
  • 类型别名:允许我们为现有的类型创建一个新的名称
  • 字面量推理:TypeScript可以自动推断出字面量的类型

函数

TypeScript中的函数与JavaScript中的函数非常相似。函数的声明语法如下:

function greet(name: string): string {
  return "Hello, " + name + "!";
}

在上面的例子中,我们声明了一个名为greet的函数,它接受一个名为name的字符串参数,并返回一个包含"Hello, " + name + "!"的字符串。

TypeScript中的类与JavaScript中的类非常相似。类的声明语法如下:

class Person {
  name: string;

  constructor(name: string) {
    this.name = name;
  }

  greet() {
    console.log("Hello, my name is " + this.name);
  }
}

在上面的例子中,我们声明了一个名为Person的类,它具有一个名为name的属性和一个名为greet的方法。

模块

TypeScript中的模块与JavaScript中的模块非常相似。模块的声明语法如下:

export class Person {
  name: string;

  constructor(name: string) {
    this.name = name;
  }

  greet() {
    console.log("Hello, my name is " + this.name);
  }
}

在上面的例子中,我们声明了一个名为Person的模块,它导出了一个名为Person的类。

泛型

TypeScript中的泛型允许我们创建可重用的组件,而无需重复代码。泛型的声明语法如下:

function identity<T>(x: T): T {
  return x;
}

在上面的例子中,我们声明了一个名为identity的泛型函数,它接受一个类型参数T,并返回一个与输入类型相同的输出值。

联合类型

TypeScript中的联合类型允许变量同时拥有多种类型。联合类型的声明语法如下:

let x: string | number = "Hello";

在上面的例子中,我们声明了一个名为x的变量,它的类型可以是stringnumber

类型别名

TypeScript中的类型别名允许我们为现有的类型创建一个新的名称。类型别名的声明语法如下:

type Person = {
  name: string;
  age: number;
};

在上面的例子中,我们声明了一个名为Person的类型别名,它表示一个具有nameage属性的对象。

字面量推理

TypeScript可以自动推断出字面量的类型。例如,下面的代码:

const x = "Hello";

TypeScript会自动推断出x的类型是string

结束语

TypeScript是一种强大而灵活的编程语言,它可以捕捉到更多的错误,从而提高代码的质量和可维护性。TypeScript继承了JavaScript的语法,并在其基础上增加了类型注解,使其可以用于构建各种各样的应用程序。