8

例のように、コンストラクターでパラメーターとプロパティの名前が同じである場合、@property と @param に 2 つの別々の行を入力する必要を回避する方法はありますか。

/**
 * Class for representing a point in 2D space.
 * @property {number} x The x coordinate of this point.
 * @property {number} y The y coordinate of this point.
 * @constructor
 * @param {number} x The x coordinate of this point.
 * @param {number} y The y coordinate of this point.
 * @return {Point} A new Point
 */
Point = function (x, y)
{
    this.x = x;
    this.y = y;
}
4

1 に答える 1

3

そうしない。関数の引数とオブジェクトのプロパティ - これらは異なる変数であるため、不可能です。関数のパラメーターとオブジェクトのプロパティの両方にすることはできません。さらに、そのようなドキュメントは開発者を混乱させるだけで、API の理解には役立ちません。

このドキュメントでは @properties を使用せず、@type を使用することをお勧めします。

/**
 * Class for representing a point in 2D space.
 * @constructor
 * @param {number} x The x coordinate of this point.
 * @param {number} y The y coordinate of this point.
 * @return {Point} A new Point
 */
Point = function (x, y)
{
    /**
     * The x coordinate.
     * @type number
     */
    this.x = x;

    /**
     * The y coordinate.
     * @type number
     */
    this.y = y;
}

しかし、実際には、そのような詳細なドキュメントは役に立ちません。私たちがコードで話していることはPoint.x = x、どの学童にも明らかです。

于 2011-11-06T18:22:08.063 に答える