[TOC]
在平时使用 TypeScript 编写代码的过程中,我们可能会遇到某些库没有提供类型声明、库的版本和类型声明不一致、没有注入全局变量类型等各种问题。因此,这一讲我们将学习 TypeScript 增强类型系统,这样上边提到的问题就能迎刃而解了。
在 TypeScript 中预留了一个增强类型的口子,使得我们可以方便地扩展原来的类型系统,以兼容 JavaScript 的代码。
增强类型系统
增强类型系统,顾名思义就是对 TypeScript 类型系统的增强。在 npm 中,有很多历史悠久的库都是使用 JavaScript 编写的,而 TypeScript 作为 JavaScript 的超集,设计目标之一就是能在 TypeScript 中安全、方便地使用 JavaScript 库。
TypeScript 相较于 JavaScript 而言,其一大特点就是类型。关于类型的定义方法,除了之前学习的内容之外,我们还可以通过以下方式扩展类型系统。
声明
那么,我们如何在 TypeScript 中安全地使用 JavaScript 的库呢?关键的步骤就是使用 TypeScript 中的一个 declare 关键字。
通过使用 declare 关键字,我们可以声明全局的变量、方法、类、对象。下面我们先说一下如何声明全局的变量。
declare 变量
在运行时,前端代码