在`export声明类型Xyz`中声明的内容与`export类型Xyz`中声明的内容是什么

AJP*_*AJP 9 typescript

在定义文件中,同时写入以下内容是有效的:

export declare type Abc = string;
export type Bcd = string;
Run Code Online (Sandbox Code Playgroud)

declare这里的关键字没有用,对吗?

Eri*_*pal 7

正确。declare当您需要在执行时说一个变量或常量时,关键字非常有用。

示例:假设您要导入library someExternalLib,但是它不在npm上(您必须通过script标签手动添加它)。您知道它将可以作为全局变量someExternalLib使用函数fun1和进行访问fun2。问题是Typescript不知道-这就是为什么您必须通过声明global来提供帮助someExternalLib

declare const someExternalLib: { fun1: () => number, fun2: () => number }
Run Code Online (Sandbox Code Playgroud)

在定义文件中通常需要用它来声明变量,常量,类,函数。它对于类型和接口是多余的。