首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么是“成员不能有@私有JsDoc"?

为什么是“成员不能有@私有JsDoc"?
EN

Stack Overflow用户
提问于 2012-07-25 11:27:27
回答 1查看 1.4K关注 0票数 3

我正在使用Google Closure Tools中的gjslint工具清理代码。它报告以下错误:

代码语言:javascript
复制
Line 15, E:0222: Member "this._dictionary" must not have @private JsDoc

代码是这样的:

代码语言:javascript
复制
/**
 * Stacker class.
 * @constructor
 * @param {frankenstein.app.Dictionary} dictionary input dictionary for stacking.
 */
frankenstein.app.Stacker = function(dictionary) {
  /** @private */ this._dictionary = dictionary;
};

有人能解释一下为什么this._dictionary不能有@private JsDoc吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-25 12:19:46

Closure Linter旨在执行。JSDoc标签@private的文档如下所示:

与方法或属性名称上的尾部下划线一起使用,以指示该成员是私有成员。随着工具更新以强制执行@private,尾随下划线可能最终会被弃用。

从Closure Linter版本2.3.6开始,只要成员被注释为@private而不带下划线,就会发出错误"Member not have @private JsDoc“。

此代码不会发出任何错误或警告。

代码语言:javascript
复制
/**
 * Stacker class.
 * @constructor
 * @param {frankenstein.app.Dictionary} dictionary Input dictionary for 
 *     stacking.
 */
frankenstein.app.Stacker = function(dictionary) {
  /** @private */ this.dictionary_ = dictionary;
};
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11642252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档