Typescript的/ ** @class * /有用吗?

时间:2017-12-27 20:07:53

标签: javascript typescript

我正在学习打字稿,我注意到编译好的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;
}());

我的问题是这个评论是否具有任何功能价值还是只是语法糖?另外,如果它确实有功能,那么功能是什么?

3 个答案:

答案 0 :(得分:13)

这是so that minifiers can remove unused classes发出的。对于minifiers,类设置看起来像具有潜在重要副作用的东西,因此该注释向他们表明如果其余代码没有引用代码块,则可以安全地删除代码块。

答案 1 :(得分:5)

如果您想记录代码,它会输出JSDoc注释:http://usejsdoc.org/tags-class.html

在这种情况下,标记向文档生成器指示以下函数是构造函数。

它没有功能价值,也不是语法糖。如果您决定生成文档,它就在那里。没什么。

答案 2 :(得分:2)

  

我的问题是这个评论是否具有任何功能价值,还是只是语法糖?

两者都没有,因为它是一个评论,而不是它自己的语法结构。

评论只是JSDoc。 @艾米的答案有相关的链接。