@use JSDoc

構文

@mixes <OtherObjectPath>

概要

@mixes タグは、現在のオブジェクトが @mixin である OtherObjectPath からすべてのメンバーをミックスインすることを示しています。

まず、@mixin タグを使用して、ミックスインを文書化します。

@mixin の例
/**
 * This provides methods used for event handling. It's not meant to
 * be used directly.
 *
 * @mixin
 */
var Eventful = {
    /**
     * Register a handler function to be called whenever this event is fired.
     * @param {string} eventName - Name of the event.
     * @param {function(Object)} handler - The handler to call.
     */
    on: function(eventName, handler) {
        // code...
    },

    /**
     * Fire an event, causing all handlers for that event name to run.
     * @param {string} eventName - Name of the event.
     * @param {Object} eventData - The data provided to each handler.
     */
    fire: function(eventName, eventData) {
        // code...
    }
};

次に、FormButton クラスを追加し、「ミックス」関数を呼び出して、すべての Eventful 関数を FormButton にミックスし、FormButton がイベントを発生させてリスナーを持つことができるようにします。@mixes タグを使用して、FormButton が Eventful 関数をミックスインすることを示します。

@mixes タグの使用
/**
 * @constructor FormButton
 * @mixes Eventful
 */
var FormButton = function() {
    // code...
};
FormButton.prototype.press = function() {
  this.fire('press', {});
}
mix(Eventful).into(FormButton.prototype);