2017-03-15 153 views
1

有沒有辦法對jsdoc中帶有特殊符號(如「+」)的屬性進行正確描述?JSDoc:屬性名稱

例子:

/** 
    * @typedef {Object} TestObject 
    * @property {string} "id+name" 
    */ 

「ID +名」 似乎是在這種情況下,一個無效的語法。

回答

1

您需要根據文檔查看@property是什麼。基本上這是一個類中的變量名。對?在這種情況下,你應該遵循JS慣例的變量名稱。這是對帖子的參考發現它... What characters are valid for JavaScript variable names?。顯然,變量名「id + name」無效。以下是存取該屬性...

TestObject.id+name // fail 
TestObject["id+name"] // would work for most of the browsers 

到JSDoc的創造者,他們是如何驗證特定類型@property標籤的性能問題。我堅信他們會指出變量名稱的JS慣例。當然,你可能不會接受它作爲你問題的答案。也許別人或JSDoc團隊的某個人會提供更好的想法。

+1

順便說一下,第二個是有效的訪問者,這就是要點。 – shadeglare

+0

@shadeglare是的,你這樣做可以適用於大多數瀏覽器,但JSDoc不喜歡它,所以當鍵入「TestObject」時,intellisense不會理解要顯示的內容。不確定是否有這樣的變量創建的原因。只是爲了理論的問題?無論如何,感謝您指點,我會修改答案。 –