往期目录
第一课, 体验typescript
第二课, 基础类型和入门高级类型
第三课, 泛型
第四课, 解读高级类型
第五课, 命名空间(namespace)是什么
特别篇, 在vue3 源码中学会typescript - "is"
第六课, 什么是声明文件(declare)? - 全局声明篇
全局声明篇
年底比较忙 , 受个人时间限制, 暂把"声明"部分的内容分为"全局声明篇"和"模块声明篇", 还请多多包涵, 本次先说"全局".
什么是声明文件?
声明文件就是给js代码补充类型标注. 这样在ts编译环境下就不会提示js文件"缺少类型".
声明变量使用关键字declare
来表示声明其后面的全局变量的类型, 比如:
// packages/global.d.ts
declare var __DEV__: boolean
declare var __TEST__: boolean
declare var __BROWSER__: boolean
declare var __RUNTIME_COMPILE__: boolean
declare var __COMMIT__: string
declare var __VERSION__: string
看过vue3源码的同学一定知道这些是vue中的变量, 上面代码表示__DEV__
等变量是全局, 并且标注了他们的类型. 这样无论在项目中的哪个ts文件中使用__DEV__
, 变量ts编译器都会知道他是boolean
类型.