2017-12-27 1717 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。 @艾米的答案有这方面的链接。

相关问题