头图

HarmonyOS Next主要开发语言是ArkTS,ArkTS又是TS的超集,为了更好的学习HarmonyOS 和 ArkTS,从基础的TS入口介绍TS语法。

第一章:TypeScript概述与安装指南

1.1 什么是TypeScript?

TypeScript 是由微软开发并维护的一种开源编程语言,它是 JavaScript 的超集。也就是说,任何有效的 JavaScript 代码在 TypeScript 中都是合法的,并且 TypeScript 通过引入静态类型检查和一些新特性,提升了 JavaScript 的开发体验。TypeScript 的主要目标是增强 JavaScript 的可维护性和可扩展性,尤其是在大型应用和团队协作开发中,它提供了更多的编译时错误检查和类型安全,从而大大减少了运行时错误的发生。

1.2 为什么选择TypeScript?

  1. 类型安全:TypeScript 支持静态类型系统,这意味着可以在编写代码时发现潜在的类型错误。例如,你可以指定一个变量只接受字符串类型,而不是任意类型的数据,这在 JavaScript 中是无法做到的。
  2. 代码可读性与可维护性:通过类型注解,TypeScript 可以让你在团队开发中清晰地表达意图,从而提高代码的可读性和可维护性。尤其是在大型项目中,类型系统可以帮助开发者理解每个变量和函数的使用方式。
  3. IDE支持与工具链:由于 TypeScript 是强类型的,许多 IDE(如 VS Code)能提供自动补全、类型推断、代码重构等智能提示功能,这些功能大大提高了开发效率。
  4. 兼容现有JavaScript代码:TypeScript 是 JavaScript 的超集,这意味着现有的 JavaScript 代码可以无缝地集成进 TypeScript 项目中。这使得开发者可以逐步迁移现有项目到 TypeScript,而无需重写所有代码。
  5. 现代语言特性:TypeScript 支持最新的 JavaScript 特性(如 async/await、模块化等),并能够将其编译成兼容旧版浏览器的 JavaScript 代码。

1.3 TypeScript与JavaScript的区别

特性JavaScriptTypeScript
类型系统动态类型(运行时检查)静态类型(编译时检查)
编译器支持需要编译器进行编译,编译时可以发现类型错误
类型注解不支持支持,允许指定变量、函数、类等的类型
兼容性所有浏览器和平台都支持编译成标准 JavaScript,兼容所有平台
面向对象编程(OOP)支持面向对象编程,但缺乏类型相关的特性更强大的面向对象支持,包括接口、泛型、抽象类等

1.4 TypeScript的安装与配置

1.4.1 安装TypeScript

要使用 TypeScript,首先需要安装 TypeScript 编译器。可以通过 npm(Node.js 包管理工具)进行安装。

  1. 安装 Node.js 和 npm
    如果你还没有安装 Node.js 和 npm,可以访问 Node.js官网 下载并安装最新的稳定版本。npm 是 Node.js 自带的包管理工具,用于安装 JavaScript 和 TypeScript 的依赖包。
  2. 全局安装 TypeScript
    安装 TypeScript 编译器:

    npm install -g typescript

    使用 -g 选项是将 TypeScript 安装为全局工具,这样你可以在命令行中随时使用 tsc 命令来编译 TypeScript 代码。

  3. 检查安装是否成功
    安装完成后,可以通过以下命令检查 TypeScript 版本:

    tsc --version

    如果安装成功,你将看到 TypeScript 的版本号。

1.4.2 创建一个简单的 TypeScript 项目
  1. 初始化项目
    在终端中执行以下命令,创建一个新的项目文件夹,并进入该文件夹:

    mkdir my-typescript-project
    cd my-typescript-project
  2. 初始化 npm 项目
    在项目文件夹中初始化一个 npm 项目,这将创建一个 package.json 文件:

    npm init -y
  3. 安装 TypeScript
    通过 npm 在本地安装 TypeScript:

    npm install typescript --save-dev

    这将会把 TypeScript 安装到项目的 node_modules 文件夹中,并且将其作为开发依赖项添加到 package.json 中。

  4. 配置 TypeScript
    使用 TypeScript 前,建议生成一个 tsconfig.json 配置文件,来配置 TypeScript 的编译选项。可以通过以下命令来生成:

    npx tsc --init

    这将会创建一个默认的 tsconfig.json 文件,其中包含了 TypeScript 编译器的一些常见设置。例如:

    {
      "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "strict": true,
        "esModuleInterop": true,
        "skipLibCheck": true,
        "forceConsistentCasingInFileNames": true
      }
    }

    可以根据自己的需求修改这些配置项,通常来说,target 设置为 es5 是为了确保兼容性,而 module 则指定了模块系统(例如 CommonJS 或 ESModules)。

  5. 创建 TypeScript 文件
    在项目中创建一个 TypeScript 文件(例如 index.ts)并写入以下内容:

    let message: string = "Hello, TypeScript!";
    console.log(message);
  6. 编译 TypeScript 文件
    使用 tsc 命令编译 TypeScript 文件。运行以下命令:

    tsc

    这将会生成一个 JavaScript 文件(index.js),可以在 Node.js 中运行:

    node index.js

    输出:

    Hello, TypeScript!
1.4.3 自动化编译:watch模式

可以通过 --watch-w 选项让 TypeScript 编译器在文件更改时自动重新编译代码。例如:

tsc -w

每当你修改 index.ts 文件并保存时,TypeScript 会自动重新编译并生成新的 index.js 文件。

1.5 TypeScript 基础示例

接下来,我们来创建一个更复杂的 TypeScript 示例,展示 TypeScript 的一些基本特性:类型注解、接口、类和泛型。

  1. 接口与类
    创建一个描述用户信息的接口,并通过类实现该接口:

    interface IUser {
      name: string;
      age: number;
    }
    
    class User implements IUser {
      constructor(public name: string, public age: number) {}
    
      greet() {
        console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
      }
    }
    
    const user = new User("Alice", 30);
    user.greet();
  2. 泛型函数
    TypeScript 的泛型允许你编写可以接受任意类型的函数或类。在以下示例中,我们定义了一个泛型函数,能够接受不同类型的参数:

    function identity<T>(arg: T): T {
      return arg;
    }
    
    let output = identity<string>("Hello, TypeScript!");
    console.log(output);  // 输出:Hello, TypeScript!

1.6 总结

本章介绍了 TypeScript 的基本概念,安装步骤,及如何配置一个简单的 TypeScript 项目。通过 TypeScript,我们可以为 JavaScript 代码提供类型安全,并享受更好的开发工具支持。接下来的章节将深入探讨 TypeScript 的类型系统、面向对象编程以及如何在实际开发中应用 TypeScript。


轻口味
25.1k 声望4.2k 粉丝

移动端十年老人,主要做IM、音视频、AI方向,目前在做鸿蒙化适配,欢迎这些方向的同学交流:wodekouwei