如何創(chuàng)建高質(zhì)量的TypeScript聲明文件(五) - 示例

轉(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ù)...

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學習記錄文檔,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡書還為我保存起的...
    Jenaral閱讀 3,179評論 2 9
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,699評論 19 139
  • 周末本來想讓閨女多睡會兒,但是我家的小鬧鐘閨女早早就起來了,大閨女也就跟著被吵醒起床了,我們在床上一塊兒復習遍...
    晨陽歐陽麻麻閱讀 262評論 0 3
  • 今天是,學習英語的第二天,收獲還是非常大,以前學習的時候,有一種,一掃而過,一目十行的,感覺,還自我安慰,覺得學的...
    老孔從頭來閱讀 187評論 0 0
  • 你自殺之后,父母才知道你受的屈辱。 聽到你的故事時,你已經(jīng)裝入小小的骨灰壇,住進某座山寺的某處角落。我不認識你,甚...
    越快樂越墮落閱讀 276評論 0 3

友情鏈接更多精彩內(nèi)容