2017-04-19 42 views
0

如果我的代碼創建了一個ECMAScript的前6風格的「類」,即一個構造函數是這樣的:用JSDoc 3語法指定對象類的正確方法是什麼?

function MyDBPlugin() { 
    // ... 
} 

,我使用了JSDoc3方案來記錄另一個函數,它的MyDBPlugin的實例作爲論據,我該如何表示MyDBPlugin對象?
我的第一個猜測是這樣的:

/** 
* Some function which takes an instance of MyDBPlugin as an argument 
* 
* @param {Object} plugin An instance of the MyDBPlugin class 
*/ 
function query_database(plugin) { 
    // ... 
} 

{Object}似乎相當不提供信息,似乎使用的類名,{MyDBPlugin}會更具描述性的,如:

/** 
* Some function which takes an instance of MyDBPlugin as an argument 
* 
* @param {MyDBPlugin} plugin An instance of the MyDBPlugin class 
*/ 
function query_database(plugin) { 
    // ... 
} 

我怎麼代表在MyDBPlugin對象JSDoc語法?

回答

1

從文檔:http://usejsdoc.org/tags-type.html

如果它是一個類,你可以簡單地使用它馬上:

/** 
* @param {myNamespace.MyClass} 
*/ 

如果它是一個結構,你可以創建自己的@typedefhttp://usejsdoc.org/tags-typedef.html和使用它,在同方式如上或如你所說:

/** 
* Some function which takes an instance of MyDBPlugin as an argument 
* 
* @param {MyDBPlugin} plugin An instance of the MyDBPlugin class 
*/ 
function query_database(plugin) { 
    // ... 
} 
+0

謝謝,因爲我的例子是一個類,這是否意味着我可以馬上使用它,即我不是必需的創建一個'@ typedef'? –

+0

@the_velour_fog如果你只記錄你的班級,我認爲它應該沒問題 – Oskar

相關問題