如何使用jsDoc记录使用Object.defineProperties()添加到object.prototype的属性?

时间:2017-06-14 11:41:13

标签: javascript jsdoc jsdoc3

我有一个构造函数:

/**
 * Language class.
 * @param {string|String} abbreviation
 * @param {string|String} name
 * @param {number|Number} id
 * @throws {ReferenceError}
 * @constructor
 */
function Language(abbreviation, name, id) {

    //Parameters validation
    {
        if (abbreviation === null) {
            throw new ReferenceError();
        }

        if (TypeValidator.IsString(abbreviation)) {
            throw new TypeError();
        }
    }
}

我想使用Object.defineProperties():

向Language类原型添加属性
Object.defineProperties(
    Language.prototype,
    {
        'ABBREVIATION': {
            configurable: false,
            writable    : false,
            enumerable  : false,
            get: function () {
                return get.call(_abbreviation, this);
            }
        },
    }
);

如何使用jsDoc new getter作为Language.prototype的一部分进行记录,以及如何描述getter(我是否必须使用@function ...)?

0 个答案:

没有答案