Javascript 如何使用闭包编译器定义函数中“this”的类型

Javascript 如何使用闭包编译器定义函数中“this”的类型,javascript,this,google-closure-compiler,Javascript,This,Google Closure Compiler,我在项目中使用闭包编译器的目标是实现100%的类型化,但我正在努力使用一个简单的jQuery模式,如下所示: $Controls.on('change input', /** function(this:Element) */ function () { $(this).removeClass('is-invalid').next('.invalid-feedback').remove(); }); 无论是否使用注释/**函数this:Element*/,我都会得到以下错误: js/q

我在项目中使用闭包编译器的目标是实现100%的类型化,但我正在努力使用一个简单的jQuery模式,如下所示:

$Controls.on('change input', /** function(this:Element) */ function () {
    $(this).removeClass('is-invalid').next('.invalid-feedback').remove();
});
无论是否使用注释/**函数this:Element*/,我都会得到以下错误:

js/quote.js:61: WARNING - could not determine the type of this expression
        $(this).removeClass('is-invalid').next('.invalid-feedback').remove();
          ^^^^
我想我在函数的这个类型部分找到了答案,但这似乎并不像我想的那样


如何为闭包编译器指定此类型?

感谢@RandyCasburn的评论

/**functionthis:Element*/应更改为**@this{Element}*/以将函数的上下文类型强制转换为Element


我假定/**functionthis:Element*/应该用于定义具有元素上下文的函数的参数类型

看起来您没有满足@this annotation:Yup!这就是你没有铸造的,这不会影响函数的内部。您正在声明此文件的预期类型