クロージャ内で bar と呼ばれるこのプライベート関数にどのように注釈を付けますか?
var Foo = (function() {
var fn = (function() {
return {
bar: function(baz) {
alert(baz);
}
};
})();
return {
doBar: function(label) {
fn.bar(label);
}
}
});
そのようです?
/**
* @type {function(string): string}
* @private
*/
bar: function(baz) {
return baz;
}
それともそうですか?
/**
* @param {string}
* @private
* @return {string}
*/
bar: function(baz) {
return baz;
}
それとも、両方のドキュメントの組み合わせですか? しかし、関数のパラメーターと戻り値の型の情報が重複していると思います。
/**
* @param {string}
* @private
* @type {function(string): string}
* @return {string}
*/
bar: function(baz) {
return baz;
}
クロージャーの例全体の完全な jsDoc の例。「プライベート」関数用の @private jsDoc はもうありません (「ジョン」が言ったように)。
/**
* @type {function(): Object}
* @public
*/
var Foo = (function() {
/**
* @type {function(): Object}
* @private
*/
var fn = (function() {
return {
/**
* @param {string} baz Something to alert
*/
bar: function(baz) {
alert(baz);
}
};
})();
return {
/**
* @param {string} label A label string
* @public
*/
doBar: function(label) {
fn.bar(label);
}
}
});