我如何注释我对“的用法?”;这";在下面的Javascript函数中调用闭包编译器?

我如何注释我对“的用法?”;这";在下面的Javascript函数中调用闭包编译器?,javascript,google-closure-compiler,jsdoc,Javascript,Google Closure Compiler,Jsdoc,我使用以下函数修改Javascript数组的特定实例的行为。如何为闭包编译器注释代码?通过编译器运行代码会产生“JSC_USED_GLOBAL_THIS”错误 看起来我不能使用@extends或@constructor注释 我不想修改全局数组原型,因为在页面上使用其他代码时,这会产生意外的副作用。此外,在阅读之后,我认为我的方法是最适合我的用例的方法。问题是我不知道如何给编译器添加注释你链接的文档中有这样一句话:为了防止编译器发出警告,当@this注释出现在既不是原型方法也不是标记为@const

我使用以下函数修改Javascript数组的特定实例的行为。如何为闭包编译器注释代码?通过编译器运行代码会产生“JSC_USED_GLOBAL_THIS”错误

看起来我不能使用@extends或@constructor注释


我不想修改全局数组原型,因为在页面上使用其他代码时,这会产生意外的副作用。此外,在阅读之后,我认为我的方法是最适合我的用例的方法。问题是我不知道如何给编译器添加注释

你链接的文档中有这样一句话:
为了防止编译器发出警告,当@this注释出现在既不是原型方法也不是标记为@constructor的函数中时,你必须使用@this注释。
@esailja:好的。我不确定用什么方法来注释它。我会使用“{AT}this{Array}”@Esailija:如果你回复的答案修复了代码以包含类型定义,我会将其标记为答案。谢谢。我只是不确定是否有更具体的JSDoc可供使用。
function listify(array) {

    /**
     * Returns the roster widget element.
     * @this {Array}
     * @return {String}
     */
    array.toString = function() {
        return '[' + this.join(', ') + ']';
    };
    return array;
};
function listify(array) {

    /**
     * Returns the roster widget element.
     * @this {Array}
     * @return {String}
     */
    array.toString = function() {
        return '[' + this.join(', ') + ']';
    };
    return array;
};