📜  ts 部分记录 - TypeScript (1)

📅  最后修改于: 2023-12-03 14:48:02.704000             🧑  作者: Mango

TypeScript - 介绍

TypeScript 是微软提供的一种开源的编程语言,它是 JavaScript 的超集,可以编译成纯 JavaScript 代码。TypeScript 添加了许多 JavaScript 中不存在的静态类型和面向对象的特性,以提高代码的可读性和可维护性。

安装

安装 TypeScript 可以通过 npm 命令进行:

npm install -g typescript

安装完成后,可以使用以下命令检查 TypeScript 是否安装成功:

tsc -v
基本语法

在 TypeScript 中声明变量可以使用关键字 letconst,如下所示:

let name: string = "张三";
const age: number = 18;

TypeScript 同样支持用 function 关键字声明函数,函数参数可以指定参数类型和返回值类型:

function getFullName(firstName: string, lastName: string): string {
  return `${firstName} ${lastName}`;
}
类型注解

TypeScript 中可以使用类型注解来辅助开发者进行更好的类型检查,以及使代码更加易读和易于理解。

变量和函数参数的类型注解会告诉 TypeScript 编译器,这些变量和参数应该是什么类型。示例:

let age: number = 18;

function calculatePrice(price: number, amount: number): number {
  return price * amount;
}
接口

TypeScript 中的接口是一种描述对象属性的方式,定义了对象应该包含哪些属性以及这些属性的类型。示例:

interface Person {
  firstName: string;
  lastName: string;
}

function getFullName(person: Person): string {
  return `${person.firstName} ${person.lastName}`;
}

let person: Person = {
  firstName: "张",
  lastName: "三"
};

let fullName: string = getFullName(person);
泛型

TypeScript 中的泛型可以帮助我们编写更加灵活和通用的代码,能够让我们在编写类型不确定的代码时达到更好的复用。

下面是一个使用泛型进行数组去重的示例代码:

function uniq<T>(array: T[]): T[] {
  return Array.from(new Set<T>(array));
}

let list: number[] = [1, 2, 3, 3, 4, 4, 5];
let uniqList: number[] = uniq<number>(list);

console.log(uniqList); // [1, 2, 3, 4, 5]
模块

TypeScript 中的模块是一种组织项目结构的方式,模块能够将代码分割成小的可重用模块。模块可包含接口、类、函数和变量。示例:

// person.ts
export interface Person {
  firstName: string;
  lastName: string;
}

// main.ts
import { Person } from "./person";

let person: Person = {
  firstName: "张",
  lastName: "三"
};

console.log(person);
总结

本文讨论了 TypeScript 的基本语法,类型注解、接口、泛型和模块等基本知识。TypeScript 的目标是为了提高我们代码的可读性和可维护性,为我们的项目带来更好的编写体验。