@use JSDoc

概要

@instanceタグを使用すると、親シンボルのインスタンスメンバとしてシンボルにマークを付けます。つまり、"親#子"を参照できます。

@instanceを使用すると、ドキュレットのデフォルトのスコープが上書きされます(グローバルスコープにある場合を除き、その場合はグローバルのまま)。

次の例は「@function MyNamespace#myFunction」と記述する冗長な方法です。

仮想ドキュレットをインスタンスメンバにするために@instanceを使用する
/** @namespace MyNamespace */
/**
 * myFunction is now MyNamespace#myFunction.
 * @function myFunction
 * @memberof MyNamespace
 * @instance
 */

さらに便利なことに、@instanceタグを使用して、JSDocが推論するスコープを上書きできます。たとえば、静的メンバがインスタンスメンバとして使用されることを示すことができます。

インスタンスメンバを識別するために@instanceを使用する
/** @namespace */
var BaseObject = {
    /**
     * foo is now BaseObject#foo rather than BaseObject.foo.
     * @instance
     */
    foo: null
};

/** Generates BaseObject instances. */
function fooFactory(fooValue) {
	var props = { foo: fooValue };
	return Object.create(BaseObject, props);
}