2014-11-08 57 views
3

JSDoc有@readonly doclet tag如何在JSDoc中註釋「@ readonly-but-modified-internal」成員/屬性?

的@ReadOnly標籤指示符號旨在爲只讀。

例如:

/** 
* The name of the represented principal 
* @member {string} 
* @readonly 
*/ 
this.name = primaryName; 

不過,我真正要溝通,文檔是大衆消費者應該治療爲只讀屬性 - 但該成員是不變。

內部代碼可以修改此類成員:只讀doclet標記用於API消費者。 (如果該API的使用不正確,可恥的是他們 - 但不是我關心的。)

/** 
* Update the security token information. 
* (This is a made-up example!) 
*/ 
this.updateToken = function (token) { this.name = token.name; } 

是否有表達JSDoc(標籤)這個概念的好方法?特別是,

什麼是表達「預計內部代碼修改此只讀成員」的好方法?


未經doclet的標籤寫這樣明確,除了當然的文檔。

我最初希望JSDoc能夠接受「@readonly private」或類似的東西,但事實並非如此。使用自定義標籤的問題在於,它是在本地引入的,沒有即時的外部含義或應用程序標準模板。

回答

2

根據我的意見@readonly是最好的在這種情況下。不管它是否內部修改,它只會被外部用戶讀取。

4

不幸的是,沒有什麼像多個標籤。

like 「@ readonly,private」不存在。

所以,你可以使用的@ReadOnly@private但你正在尋找的是不可能的/東西當前可用(按我的知識)。