@use JSDoc

構文

@event <className>#[event:]<eventName>

概要

@event タグを使用して、発生し得るイベントを記述できます。典型的なイベントは、定義済みプロパティのセットを持つオブジェクトで表されます。

@event タグを使用して特定のタイプのイベントを定義したら、@fires タグを使用してそのメソッドがそのイベントを発生させ得ることを示すことができます。@listens タグを使用してシンボルがイベントをリッスンすることを示すこともできます。

JSDoc では、各イベント名に自動的に event: 名前空間が付加されます。通常、別のドキュメントでイベントにリンクする場合、この名前空間を含める必要があります。(@fires タグはその例外で、名前空間を省略できます)

:JSDoc 3 では、@event ドキュメントを使用してイベントの内容を記述します。対照的に、JSDoc Toolkit 2 では、@event ドキュメントを使用して、同じ名前のイベントが発生したときに発生する関数を特定します。

次の例は、Hurl クラスの snowball というイベントを記述する方法を示します。このイベントには、単一のプロパティを含むオブジェクトが含まれています。

関数呼び出しをイベントとして記述する
/**
 * Throw a snowball.
 *
 * @fires Hurl#snowball
 */
Hurl.prototype.snowball = function() {
    /**
     * Snowball event.
     *
     * @event Hurl#snowball
     * @type {object}
     * @property {boolean} isPacked - Indicates whether the snowball is tightly packed.
     */
    this.emit('snowball', {
        isPacked: this._snowball.isPacked
    });
};
名前付きドキュメントを使用してイベントを記述する
/**
 * Throw a snowball.
 *
 * @fires Hurl#snowball
 */
Hurl.prototype.snowball = function() {
    // ...
};

/**
 * Snowball event.
 *
 * @event Hurl#snowball
 * @type {object}
 * @property {boolean} isPacked - Indicates whether the snowball is tightly packed.
 */