Spec-Zone.ru › JSDoc

Классы ES 2015

Содержание

  • Документирование простого класса
  • Расширение классов
  • Связанные ссылки

JSDoc 3 упрощает документирование классов, которые следуют спецификации ECMAScript 2015. Вам не нужно использовать теги, такие как @class и @constructor, с классами ES 2015 — JSDoc автоматически определяет классы и их конструкторы, просто анализируя ваш код. Классы ES 2015 поддерживаются в JSDoc 3.4.0 и более поздних версиях.

Документирование простого класса

Следующий пример демонстрирует, как документировать простой класс с конструктором, двумя методами экземпляра и одним статическим методом:

Простой класс ES 2015
/** Class representing a point. */
class Point {
    /**
     * Create a point.
     * @param {number} x - The x value.
     * @param {number} y - The y value.
     */
    constructor(x, y) {
        // ...
    }

    /**
     * Get the x value.
     * @return {number} The x value.
     */
    getX() {
        // ...
    }

    /**
     * Get the y value.
     * @return {number} The y value.
     */
    getY() {
        // ...
    }

    /**
     * Convert a string containing two comma-separated numbers into a point.
     * @param {string} str - The string containing two comma-separated numbers.
     * @return {Point} A Point object.
     */
    static fromString(str) {
        // ...
    }
}

Вы также можете документировать классы, которые определены в выражении класса, которое присваивает класс переменной или константе:

Выражение класса ES 2015
/** Class representing a point. */
const Point = class {
    // and so on
}

Расширение классов

Когда вы используете ключевое слово extends для расширения существующего класса, вам также необходимо указать JSDoc, какой класс вы расширяете. Вы делаете это с помощью тега @augments (или @extends).

Например, чтобы расширить класс Point , показанный выше:

Расширение класса ES 2015
/**
 * Class representing a dot.
 * @extends Point
 */
class Dot extends Point {
    /**
     * Create a dot.
     * @param {number} x - The x value.
     * @param {number} y - The y value.
     * @param {number} width - The width of the dot, in pixels.
     */
    constructor(x, y, width) {
        // ...
    }

    /**
     * Get the dot's width.
     * @return {number} The dot's width, in pixels.
     */
    getWidth() {
        // ...
    }
}

Связанные ссылки

@augments

© 2011–2017 the contributors to the JSDoc 3 documentation project
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://jsdoc.app/howto-es2015-classes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API