两小时快速入门 TypeScript 基础(一)工作流、基本类型、高级类型

一、什么是 TypeScript?

TypeScript 是一种由微软开发的开源编程语言,是 JavaScript 的超集,主要增加了静态类型和基于类的面向对象编程的特性。TypeScript 的存在旨在提高 JavaScript 的开发体验,特别在大型应用开发中更显得重要。

二、初始化 TypeScript 项目

在开始使用 TypeScript 之前,首先需要安装 Node.js,然后通过 npm 安装 TypeScript。

npm install -g typescript

接着创建一个新的目录并初始化项目:

mkdir my-typescript-project
cd my-typescript-project
npm init -y

然后可以通过以下命令生成 TypeScript 配置文件 tsconfig.json

tsc --init

这样我们就可以在此项目中使用 TypeScript 了。

三、基本类型

TypeScript 提供了多种基本数据类型,以下是最常用的几种:

  1. 布尔值 (boolean)
let isDone: boolean = false;
  1. 数字 (number)
let decimal: number = 6;
  1. 字符串 (string)
let color: string = "blue";
  1. 数组 (Array)
let list: number[] = [1, 2, 3];
let list2: Array<number> = [1, 2, 3]; // 泛型数组
  1. 元组 (Tuple)
let x: [string, number] = ["hello", 10];
  1. 枚举 (enum)
enum Color {Red, Green, Blue}
let c: Color = Color.Green;
  1. 任意类型 (any)
let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // okay, definitely a boolean

四、高级类型

在 TypeScript 中,高级类型有助于更精确地描述和约束变量的形态。

  1. 联合类型 (Union Types)

联合类型可以让变量同时支持多种类型。

function printId(id: number | string) {
    console.log("Your ID is: " + id);
}

printId(101); // 输出: Your ID is: 101
printId("202"); // 输出: Your ID is: 202
  1. 交叉类型 (Intersection Types)

交叉类型可以将多个类型合并为一个类型,常用于合并不同接口。

interface Person {
    name: string;
    age: number;
}

interface Worker {
    company: string;
}

type Employee = Person & Worker;

let employee: Employee = {
    name: "John",
    age: 30,
    company: "ABC Corp"
}
  1. 类型保护 (Type Guards)

类型保护可以确保在不同的上下文中对特定类型的有效性检查。

function printAll(strs: string | string[]) {
    if (typeof strs === "string") {
        console.log(strs);
    } else {
        strs.forEach(s => console.log(s));
    }
}

五、总结

以上是 TypeScript 基础知识的初步探讨。通过类型系统,我们可以在编写代码时及时发现潜在的错误,极大地提高了代码质量和可维护性。接下来的内容将继续深入 TypeScript 的其他特性(如接口、类等),希望大家能够保持好奇心,继续学习!

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部