@type【型】
@typedef【型定義】
@property(@prop)【プロパティ】
@member(@var)【メンバ】

@type【型】

メモ

  • 変数の型を指定 (出力ドキュメントはリンク付き)
  • プロパティの型も指定
  • @type を省略したインライン形式も可能 (参照)

構文

@type {【型】} 

/**
 * 変数の説明
 * @type {boolean}
 */
var typeBoolean = true;

/**
 * 型定義の説明
 * @typedef {(number|string)} NumberOrString
 */
/**
 * 変数の説明
 * @type {NumberOrString}
 */
var typeDef;

var /** string */ typeString = "String"; 

関連


@typedef【型定義】

メモ

  • 独自の型を繰り返し使用する場合に有用

構文

@typedef [ {【型】} ] 【名前パス】 

@typedef {【型】} 

/**
 * 型定義の説明
 * @typedef {(number|string)} NumberOrString
 */

/**
 * クラスの説明
 * @class
 * @param {ClassTypedef~prop} prop
 */
function ClassTypedef(prop) {}

/**
 * 型定義の説明
 * @typedef {Object} ClassTypedef~prop
 * @property {number} num       数字型
 * @property {string} str       文字列型
 */

/**
 * @constructor
 */
function ClassTypedefCC() { }

/**
 * 型定義の説明 (Closure Compiler用)
 * @typedef {(number|boolean)} 
 */
ClassTypedefCC.NumberOrBoolean;

関連


@property(@prop)【プロパティ】

メモ

  • クラス・ネームスペース・オブジェクトのスタティック プロパティの一覧で使用
    同一ページに出力

構文

@property [ {【型】} ] 【プロパティ名】 [[ - ]【説明】]
シノニム:@prop

/**
 * @namespace
 * @property {number} num       数字型
 * @property {string} str       文字列型
 * @property {number} prop.num  数字型 (入れ子)
 * @property {string} prop.str  文字列型 (入れ子)
 */
var namespaceProperty = { num:1, str:"string", prop:{ num:1, str:"string" } };

/**
 * 型定義+プロパティ
 * @typedef {Object} objProperty
 * @property {number} num
 * @property {string} str
 * @property {number} prop.num
 * @property {string} prop.str
 */
// { num:1, str:"string", prop:{ num:1, str:"string" } }

/**
 * @param {objProperty} p1 定義型
 */
function funcProperty(p1) { }

関連


@member(@var)【メンバ】

メモ

  • メンバを定義 (class・function・constant 等の特殊な種類以外)

構文

@member [ {【型】} ] [【説明】]
シノニム:@var

/**
 * @class
 */
function ClassMember() {
  /** @member {number} */
  this.num = 1;
  /** @member {string} */
  this.str = "";
}

関連