我试图了解用于记录与JavaScript Closure Compiler一起使用的 JavaScript 的JSDoc 样式。我有下面的 JavaScript 代码
// ==ClosureCompiler==
// @compilation_level ADVANCED_OPTIMIZATIONS
// ==/ClosureCompiler==
(function(){
/**
* @type Array.<string>
* @private
*/
var sb = [];
/**
* @const
* @type{{append: function(string): SingletonStringBuffer, toString: function(): string}}
*/
window['SingletonStringBuffer'] = {
/**
* @param {string} text
* @return {SingletonStringBuffer}
*/
append: function(text){
sb.push(text);
return SingletonStringBuffer;
},
/**
* @return {string}
*/
toString: function(){
return sb.join("");
}
};
}());
当我对此代码进行高级编译时,我收到 2 个警告。
JSC_TYPE_PARSE_ERROR: Bad type annotation. Unknown type SingletonStringBuffer at line 10 character 35
* @type{{append: function(string): SingletonStringBuffer, toString: function()...
^ JSC_TYPE_PARSE_ERROR: Bad type annotation. Unknown type SingletonStringBuffer at line 15 character 11
* @return {SingletonStringBuffer}
^
该函数append
返回对封装对象的尊重。它返回的变量 , SingletonStringBuffer
, 被声明...所以我不确定什么是错误的或如何纠正它。