TypeScript学习笔记(十一)—— 类型声明文件

165 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第3天,点击查看活动详情

前言

大家好呀,我是L同学。在上篇文章TypeScript学习笔记(十)—— 泛型工具类型中,我们学习了TypeScript的相关知识点,包括泛型工具类型、如何在React项目中使用 TS等相关知识点。在本篇文章中,我们将学习TypeScript的相关知识点,包括什么是tsconfig、ts中的类型声明文件等内容。

tsconfig的介绍

tsconfig.json是typescript项目的配置文件,用于配置typescript。tsconfig.json配置文件可以通过 tsc --init 生成。所有的配置项都可以通过鼠标移入的方式,来查看配置项的解释说明。

类型声明文件

目前几乎所有的 JavaScript 应用都会引入许多第三方库来完成任务需求。这些第三方库不管是否使用 TS 编写的,最终都要编译成 JS 代码,才能发布给开发者使用。我们知道是 TS 提供了类型,才有了代码提示和类型保护等机制。但在项目开发中使用第三方库时,你会发现它们几乎都有相应的 TS 类型,这些类型是怎么来的呢? 答案是通过类型声明文件

类型声明文件是用来为已存在的 JS 库提供类型信息。TS 中有两种文件类型:1 .ts 文件 2 .d.ts 文件。

.ts 文件:

  1. 既包含类型信息又可执行代码
  2. 可以被编译为 .js 文件,然后,执行代码
  3. 用途:编写程序代码的地方

.d.ts 文件:

  1. 只包含类型信息的类型声明文件
  2. 不会生成 .js 文件,仅用于提供类型信息,在.d.ts文件中不允许出现可执行的代码,只用于提供类型
  3. 用途:为 JS 提供类型信息

总结下来就是.ts 是 implementation(代码实现文件),.d.ts 是 declaration(类型声明文件)。如果要为 JS 库提供类型信息,要使用 .d.ts 文件。

内置文件

TS 为 JS 运行时可用的所有标准化内置 API 都提供了声明文件。比如,在使用数组时,数组所有方法都会有相应的代码提示以及类型信息。

const strs = ['a', 'b', 'c']
// 鼠标放在 forEach 上查看类型
strs.forEach

实际上这都是 TS 提供的内置类型声明文件。可以通过 Ctrl + 鼠标左键来查看内置类型声明文件内容。比如,查看 forEach 方法的类型声明,在 VSCode 中会自动跳转到 lib.es5.d.ts 类型声明文件中。当然,像 window、document 等 BOM、DOM API 也都有相应的类型声明(lib.dom.d.ts)。