声明描述
声明描述主要是用来扩展语法功能,任何类型、属性、函数都可以声明。声明描述一般定义在描述文件中,通常以“.d.es”后缀结尾,但也可以定义在代码块中(不推荐)。声明描述以 declare
关键字来定义,允许在顶级域或者包中(除declare module
)定义。如果在项目根目录有“index.d.es”文件会自动先加载。否则需要在代码的开头使用 @Reference(path)
注解符来引用描述文件。
定义类描述
定义指定类的描述。对一个已存在的类添加成员描述,如果没有指定 package 默认为全局
语法:declare class identifier{}
package;
declare class Object{
static assign<T,T1>(target:T,v1:T1):T & T1;
toString(): string;
}
定义接口描述
定义指定接口的描述。对一个已存在的类型添加成员描述,如果没有指定 package 默认为全局
语法:declare interface identifier{}
declare interface IObject{
isObject(value):boolean
}
定义组合类型
在指定的对象(命名空间)定义组合类型。如果没有指定 package 默认为全局
语法:declare type identifier = Type
declare type Scalar = string | number | boolean
定义属性
在指定的对象(命名空间)定义属性。如果没有指定 package 默认为全局
语法:declare var|const identifier:Type
declare const window:IWindow;