2017-12-27 166 views
3

我學習打字稿,我注意到編譯JavaScript有每一個類,看起來像這樣的註釋:/ ** * @class/Typescript的/ ** @class * /是否有目的?

例子:

var Student = /** @class */ (function() { 
    function Student(firstName, middleInitial, lastName) { 
     this.firstName = firstName; 
     this.middleInitial = middleInitial; 
     this.lastName = lastName; 
     this.fullName = firstName + " " + middleInitial + " " + lastName; 
    } 
    return Student; 
}()); 

我的問題是做此評論有任何功能價值,還是僅僅是語法糖?另外,如果它有一個函數,函數是什麼?

+0

謝謝大家,我希望我能標記每個答案都是正確的,因爲他們都是,但我選擇瑞恩的,因爲我認爲它具有最大的功能價值(也因爲我沒有意識到這一點,文檔的東西是相當明顯) –

回答

6

這是散發so that minifiers can remove unused classes。對於限制器,類設置看起來像是具有潛在重要副作用的東西,所以這個註釋告訴他們,如果代碼的其餘部分不引用它,可以安全地移除代碼塊。

4

如果你想記錄你的代碼,它輸出一個JSDoc註釋:http://usejsdoc.org/tags-class.html

在這種情況下,標記向文檔生成器指示下列函數是構造函數。

它沒有功能價值,也不是語法糖。如果您決定生成文檔,它就在那裏。而已。

1

我的問題是這個評論有任何功能價值,還是它只是語法糖?

既不是它的評論,也不是它自己的語法結構。

評論只是JSDoc。 @艾米的答案有這方面的鏈接。

相關問題