如何创建高质量的TypeScript声明文件(五) - 示例

原创
2018/11/09 10:27
阅读数 52

转发 如何创建高质量的TypeScript声明文件(五) - 示例

前面四篇文章一起介绍了在声明文件中关于库结构的一些介绍,本篇文章之后分享一些API的文档,还有它们的使用示例,并且阐述如何为他们创建声明文件

这些示例以大致递增的复杂度顺序排序。

  • 全局变量
  • 全局函数
  • 具有属性的对象
  • 重载函数
  • 可重用类型(接口)
  • 可重用类型(类型别名)
  • 组织类型

示例

全局变量

文档

全局变量foo包含存在的小部件数。

代码

console.log("Half the number of widgets is " + (foo / 2));

声明

使用declare var来声明变量。如果变量是只读的,则可以使用declare const。如果变量是块作用域的,您也可以使用declare let。

/** The number of widgets present */
declare var foo: number;

全局函数

文档

您可以使用字符串调用函数greet来向用户显示问候语。

代码

greet("hello, world");

声明

使用declare function声明函数。

declare function greet(greeting: string): void;

具有属性的对象

文档

全局变量myLib有一个用于创建问候语的makeGreeting函数,以及一个属性numberOfGreetings,用于指示到目前为止所做的问候数。

代码

let result = myLib.makeGreeting("hello, world");
console.log("The computed greeting is:" + result);

let count = myLib.numberOfGreetings;

声明

使用declare namespace描述由点式表示法访问的类型或值。

declare namespace myLib {
    function makeGreeting(s: string): string;
    let numberOfGreetings: number;
}

重载函数

文档

getWidget函数接受一个数字并返回一个Widget,或者接受一个字符串并返回一个Widget数组。

代码

let x: Widget = getWidget(43);

let arr: Widget[] = getWidget("all of them");

声明

declare function getWidget(n: number): Widget;
declare function getWidget(s: string): Widget[];

可重用类型(接口)

文档

指定问候语时,必须传递GreetingSettings对象。该对象具有以下属性:

1 - 问候语:必填字符串 2 - 持续时间:可选的时间长度(以毫秒为单位) 3 - 颜色:可选字符串,例如"#FF00FF"

代码

greet({
  greeting: "hello world",
  duration: 4000
});

声明

使用接口定义具有属性的类型。

interface GreetingSettings {
  greeting: string;
  duration?: number;
  color?: string;
}

declare function greet(setting: GreetingSettings): void;

未完待续...

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部