📅  最后修改于: 2023-12-03 14:48:02.704000             🧑  作者: Mango
TypeScript 是微软提供的一种开源的编程语言,它是 JavaScript 的超集,可以编译成纯 JavaScript 代码。TypeScript 添加了许多 JavaScript 中不存在的静态类型和面向对象的特性,以提高代码的可读性和可维护性。
安装 TypeScript 可以通过 npm 命令进行:
npm install -g typescript
安装完成后,可以使用以下命令检查 TypeScript 是否安装成功:
tsc -v
在 TypeScript 中声明变量可以使用关键字 let
或 const
,如下所示:
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 的目标是为了提高我们代码的可读性和可维护性,为我们的项目带来更好的编写体验。