1. 声明全局变量或函数
使用一些在其他脚本(如 JavaScript 库或全局环境中定义的)中已经存在的全局变量或函数时,可以使用 declare 来告诉 TypeScript 这些标识符的存在和类型,而无需提供具体的实现。
// 告诉 TypeScript 存在名为 jQuery 的全局变量,它是一个接受字符串参数并返回任意类型的函数
declare var jQuery: (selector: string) => any;
2. 声明模块
用于声明外部模块的结构和类型。
// 声明名为'myModule'的模块,其中包含一个名为'myFunction'的函数
declare module "myModule" {
export function myFunction(): void;
}
总结:declare 有助于在 TypeScript 中与现有的非 TypeScript 代码进行交互,并提供更好的类型检查和智能提示。 比如,在一个大型的前端项目中,如果引入了一个没有 TypeScript 类型定义的第三方库,就可以使用 declare 来为其创建类型声明。