如何创建高质量的TypeScript声明文件(五) - 示例
前面四篇文章一起介绍了在声明文件中关于库结构的一些介绍,本篇文章之后分享一些API的文档,还有它们的使用示例,并且阐述如何为他们创建声明文件
这些示例以大致递增的复杂度顺序排序。
- 全局变量
- 全局函数
- 具有属性的对象
- 重载函数
- 可重用类型(接口)
- 可重用类型(类型别名)
- 组织类型
- 类
示例
全局变量
文档
全局变量foo包含存在的小部件数。
代码
1 | console.log("Half the number of widgets is " + (foo / 2)); |
声明
使用declare var来声明变量。如果变量是只读的,则可以使用declare const。如果变量是块作用域的,您也可以使用declare let。
1 | /** The number of widgets present */ |
全局函数
文档
您可以使用字符串调用函数greet来向用户显示问候语。
代码
1 | greet("hello, world"); |
声明
使用declare function声明函数。
1 | declare function greet(greeting: string): void; |
具有属性的对象
文档
全局变量myLib有一个用于创建问候语的makeGreeting函数,以及一个属性numberOfGreetings,用于指示到目前为止所做的问候数。
代码
1 | let result = myLib.makeGreeting("hello, world"); |
声明
使用declare namespace描述由点式表示法访问的类型或值。
1 | declare namespace myLib { |
重载函数
文档
getWidget函数接受一个数字并返回一个Widget,或者接受一个字符串并返回一个Widget数组。
代码
1 | let x: Widget = getWidget(43); |
声明
1 | declare function getWidget(n: number): Widget; |
可重用类型(接口)
文档
指定问候语时,必须传递GreetingSettings对象。该对象具有以下属性:
1 - 问候语:必填字符串 2 - 持续时间:可选的时间长度(以毫秒为单位) 3 - 颜色:可选字符串,例如”#FF00FF”
代码
1 | greet({ |
声明
使用接口定义具有属性的类型。
1 | interface GreetingSettings { |
未完待续…