轉(zhuǎn)發(fā) 如何創(chuàng)建高質(zhì)量的TypeScript聲明文件(五) - 示例
前面四篇文章一起介紹了在聲明文件中關(guān)于庫結(jié)構(gòu)的一些介紹,本篇文章之后分享一些API的文檔,還有它們的使用示例,并且闡述如何為他們創(chuàng)建聲明文件
這些示例以大致遞增的復雜度順序排序。
- 全局變量
- 全局函數(shù)
- 具有屬性的對象
- 重載函數(shù)
- 可重用類型(接口)
- 可重用類型(類型別名)
- 組織類型
- 類
示例
全局變量
文檔
全局變量foo包含存在的小部件數(shù)。
代碼
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;
全局函數(shù)
文檔
您可以使用字符串調(diào)用函數(shù)greet來向用戶顯示問候語。
代碼
greet("hello, world");
聲明
使用declare function聲明函數(shù)。
declare function greet(greeting: string): void;
具有屬性的對象
文檔
全局變量myLib有一個用于創(chuàng)建問候語的makeGreeting函數(shù),以及一個屬性numberOfGreetings,用于指示到目前為止所做的問候數(shù)。
代碼
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;
}
重載函數(shù)
文檔
getWidget函數(shù)接受一個數(shù)字并返回一個Widget,或者接受一個字符串并返回一個Widget數(shù)組。
代碼
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 - 持續(xù)時間:可選的時間長度(以毫秒為單位) 3 - 顏色:可選字符串,例如"#FF00FF"
代碼
greet({
greeting: "hello world",
duration: 4000
});
聲明
使用接口定義具有屬性的類型。
interface GreetingSettings {
greeting: string;
duration?: number;
color?: string;
}
declare function greet(setting: GreetingSettings): void;
未完待續(xù)...