TypeScript declare
為了增加人性化程度,在IDE編寫程式碼的時候,通常會有智慧提示效果。
以VScode為例子,截圖如下:
當鍵入document.的時候,會自動彈出可能的選項,這是VScode內建的功能。
但是當編寫jQuery或者其他一些庫的程式碼時候,則沒有類似的提示,非常的不方便。
不過可以自定義或者使用已經定義好的d.ts檔案來解決此問題。
declare可以向TypeScript域中引入一個變數,在編寫程式碼的時候就能夠實現智慧提示的功能。
程式碼例項如下:
[typescript] 純文字檢視 複製程式碼declare function func(str: string): void;
應用截圖如下:
當輸入func會出現智慧提示效果;通常程式碼不是直接寫在當前ts檔案,而是集中在.d.ts檔案,然後引入。
下面給出一些常用的宣告演示。
一.宣告變數:
[typescript] 純文字檢視 複製程式碼declare var ant:string
上面宣告一個字串型別變數ant。
[typescript] 純文字檢視 複製程式碼declare const min:1
上面宣告一個常量min並賦值1。
二.宣告函式:
[typescript] 純文字檢視 複製程式碼declare function func(str:string):string
宣告一個傳遞string引數,返回值也是string型別的函式。
三.宣告class類:
[typescript] 純文字檢視 複製程式碼declare class Person { static maxAge: number //靜態變數 static getMaxAge(): number //靜態方法 constructor(name: string, age: number) //建構函式 getName(id: number): string }
宣告一個類,並且規定若干類成員的型別和訪問修飾符等。
四.宣告名稱空間:
[typescript] 純文字檢視 複製程式碼declare namespace space { function func(str: string): string; let num: number; }
宣告一個名稱空間,裡面有一個函式成員和變數成員。
五.混合型別:
有些只可能不但是函式,而且又是類或者物件,比如jQuery:
[JavaScript] 純文字檢視 複製程式碼new $() $.ajax() $()
程式碼例項如下:
[typescript] 純文字檢視 複製程式碼declare function Minx(str:string): void declare namespace Minx{ let num:number }
六.模組化:
很多時候需要通過require的方式引入模組化的程式碼:
例如以下效果:
對應的寫法如下:
[typescript] 純文字檢視 複製程式碼declare module "abcde" { export let a: number export function b(): number export namespace c{ let cd: string } }
非常的簡單,不再多介紹。
相關文章
- TypeScript系列?尾聲篇, 什麼是宣告檔案(declare)? [?全域性宣告篇]TypeScript
- shell-declare
- 簡單介紹SQLserver中的declare變數用法SQLServer變數
- Android Bugs—— Error:In declare-styleable FontFamilyFont, unable to find attribute android:fontAndroidError
- TypeError: Cannot read private member xxx from an object whose class did not declare itErrorObject
- 翻譯:DECLARE HANDLER語句(已提交到MariaDB官方手冊)
- [Typescript] Handling a Truly Empty Object in TypeScriptTypeScriptObject
- typescriptTypeScript
- 『忘了再學』Shell基礎 — 19、使用declare命令宣告變數型別變數型別
- TypeScript 簡明教程:安裝 TypeScriptTypeScript
- TypeScript 簡明教程:認識 TypeScriptTypeScript
- 「極速上手TypeScript」TypeScript之PromiseTypeScriptPromise
- 「極速上手TypeScript」TypeScript進階“物件”TypeScript物件
- TypeScript In ICETypeScript
- Typescript tsconfigTypeScript
- Typescript basicTypeScript
- Vue with TypeScriptVueTypeScript
- TypeScript @typesTypeScript
- Vuex and TypescriptVueTypeScript
- 初探 TypeScriptTypeScript
- 理解TypeScriptTypeScript
- TypeScript IteratorsTypeScript
- TypeScript 介面TypeScript
- Learning TypeScriptTypeScript
- Why TypeScript?TypeScript
- 系統學習 TypeScript(一)——認識 TypeScriptTypeScript
- 「極速上手TypeScript」TypeScript基礎語法TypeScript
- typescript + react 專案開發體驗之typescriptTypeScriptReact
- TypeScript基礎TypeScript
- TypeScript Modules(2)TypeScript
- TypeScript迭代器TypeScript
- typescript + amd tipsTypeScript
- 巧用 TypeScript(二)TypeScript
- TypeScript 的 DecoratorTypeScript
- 巧用 TypeScript(三)TypeScript
- TypeScript (基礎)TypeScript
- 巧用 TypeScript(四)TypeScript
- 巧用 TypeScript (一)TypeScript