赞
踩
首先声明,declare 来声明全局变量或类型的目的是为了让 TypeScript编译器能够识别和理解这些外部环境中已存在的内容,而不需要在当前文件中提供具体的实现或定义。包括
declare namespace 和declare moudle
也是为了上述。
*.d.ts文件 的 使用说明
特点:如果一个全局类声明文件在 ts 处理范围内, 那么全局类声明文件中的 declare 会在全局生效
declare namespace NameSpace01
的方式,则可以通过命名空间的方式,解决命名冲突。且在其他文件使用NameSpace01时不用import引入。如下:*.d.ts里定义
// 使用declare namespace 变成API1内局部的。
declare namespace API1 {
interface stu {
name: string;
}
}
// 全局的
interface stu {
name: string;
}
其他文件使用.这样就不用import了!
const student1: API1.stu = { name: 'LiHua' }
const student2: stu = { name: 'LiHua' }
*.d.ts 文件中的顶级声明必须以 "declare" 或 "export" 修饰符开头
// typescript/lib/lib.es5.d.ts
declare var JSON: JSON;
declare var Math: Math;
declare var Object: ObjectConstructor;
这个要涉及:命名空间在编译后 跟 模块化编译后的区别是什么?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。