我正在学习打字稿,我注意到编译好的javascript对每个类都有一个注释:/ ** @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 :(得分:13)
这是so that minifiers can remove unused classes发出的。对于minifiers,类设置看起来像具有潜在重要副作用的东西,因此该注释向他们表明如果其余代码没有引用代码块,则可以安全地删除代码块。
答案 1 :(得分:5)
如果您想记录代码,它会输出JSDoc注释:http://usejsdoc.org/tags-class.html。
在这种情况下,标记向文档生成器指示以下函数是构造函数。
它没有功能价值,也不是语法糖。如果您决定生成文档,它就在那里。没什么。
答案 2 :(得分:2)
我的问题是这个评论是否具有任何功能价值,还是只是语法糖?
两者都没有,因为它是一个评论,而不是它自己的语法结构。
评论只是JSDoc。 @艾米的答案有相关的链接。