Получатели и установщики свойств JSDoc и JavaScript - PullRequest
4 голосов
/ 14 июня 2011

Я надеялся, что мой код, как показано ниже, может генерировать документы, описывающие каждое свойство литерала объекта с помощью JSDoc (v2.4.0), но он не работает. Кто-нибудь знает, как работать с JSDoc для генерации документов из кода, который использует getter / setter?

/** Enum of days of week. */
var Day = {
    /** Sunday. */
    get Sun() { return 0; },
    /** Monday. */
    get Mon() { return 1; },
    /** Thuesday. */
    get Tue() { return 2; },
    /** Wednesday. */
    get Wed() { return 3; },
    /** Thursday. */
    get Thu() { return 4; },
    /** Friday. */
    get Fri() { return 5; },
    /** Saturday. */
    get Sat() { return 6; }
}

Ответы [ 2 ]

8 голосов
/ 09 марта 2014

Используйте @type для документирования средств доступа JavaScript get и set.Что-то вроде следующего должно работать с JSDoc:

    /**
     * Sunday.
     * @type {number}
     */
    get "Sun"() { return 0; },
    /**
     * Monday.
     * @type {number}
     */
    get "Mon"() { return 1; },

Это документирует каждое свойство как член с типом number.

1 голос
/ 30 августа 2011

Вы можете использовать методы получения / установки в стиле jQuery:

/**
 * Get colour of object
 * @returns {mixed}
 *//**
 * Set colour of object
 * @param {mixed} val
 * @returns {this}
 */
colour: function(val) {
    if (val === undefined)
       return this.colour;
    else {
       this.colour = val;
       return this;
    }
}

Я только что обсуждал эту самую проблему с самим Майклом.Это возможно в jsDoc3 (https://github.com/micmath/jsdoc) из-за очень крутой функции. Можно сложить несколько док-блоков (один для геттера и один для сеттера):

http://groups.google.com/group/jsdoc-users/browse_thread/thread/d4c7794bc8f6648e/94df7339e1fc4c91#94df7339e1fc4c91

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...