# 申明文件-ambients
本章详细讲解申明文件 declare 关键字的相关语法。
# 环境申明类型
典型的申明类型包含如下几种。
- 变量申明
- 函数申明
- 类申明
- 枚举申明
- 命名空间申明
# 变量
# 全局变量定义
假设代码中有如下定义
if(__ENV__ === 'dev') {
console.log('dev test')
}为了避免 Typescript 找不到对应变量可使用
type ENV = 'dev' | 'prod' | 'test'
declare var __ENV__:ENV;# 函数申明
# 全局函数定义
全局使用了如下函数
greetGlobal("hello, world");同样采用 declare 语法申明函数类型。
declare function greetGlobal(greeting: string): void;# 类申明
# 命名空间申明
假设定义了某个全局对象 myLib 包含如下方法。
let result = myLib.makeGreeting("hello, world");
console.log("The computed greeting is:" + result);
let count = myLib.numberOfGreetings;此时 Typesript 会提示 Cannot find name 'myLib'. 的类型错误。
通过家目录定义 myLib.d.ts 解决全局对象引用报错问题
declare namespace myLib {
function makeGreeting(s: string): string;
let numberOfGreetings: number;
}