@use JSDoc

構文

@namespace [[{<type>}] <SomeName>]

概要

@namespace タグは、オブジェクトがそのメンバーの名前空間を作成することを示します。また、コードによって使用される名前空間を定義する仮想 JSDoc コメントを作成することもできます。

名前空間がオブジェクトリテラル以外のシンボルによって定義される場合、@namespace タグとともに型式表現を含めることができます。@namespace タグに型が含まれる場合は、名前も含まれる必要があります。

"#" や "!" など、珍しい文字を含む名前空間を文書化する必要がある場合があります。これらの場合、名前空間を文書化またはリンクすると、珍しい文字を含む名前空間の部分を引用符で囲む必要があります。詳細は以下の例を参照してください。

オブジェクトで @namespace タグを使用する
/**
 * My namespace.
 * @namespace
 */
var MyNamespace = {
    /** documented as MyNamespace.foo */
    foo: function() {},
    /** documented as MyNamespace.bar */
    bar: 1
};
仮想コメントで @namespace タグを使用する
/**
 * A namespace.
 * @namespace MyNamespace
 */

/**
 * A function in MyNamespace (MyNamespace.myFunction).
 * @function myFunction
 * @memberof MyNamespace
 */

@namespace に名前が珍しい文字を持つシンボルが含まれている場合、そのシンボルの名前を二重引用符で囲む必要があります。シンボルの名前がすでに 1 つ以上の二重引用符を含む場合は、二重引用符を先行するバックスラッシュ () でエスケープします。

メンバー名に珍しい文字を含む @namespace タグを使用する
/** @namespace window */

/**
 * Shorthand for the alert function.
 * Refer to it as {@link window."!"} (note the double quotes).
 */
window["!"] = function(msg) { alert(msg); };