gpt4 book ai didi

javascript - 使用闭包编译器正确键入实例变量

转载 作者:行者123 更新时间:2023-11-28 20:20:30 24 4
gpt4 key购买 nike

我无法正确输入以下代码:

/**                                                                                                                                                                                      
* @constructor
*/
function F() {
this.a = 0;
};

/**
* @type {function(number)}
*/
F.prototype.g = function(b) {
this.a += b;
};

我收到以下警告:

test.js:12: WARNING - could not determine the type of this expression
this.a += b;
^

在此示例中如何正确输入 this

-- 编辑--

如果您想看到警告,则需要将 reportUnknownTypes 设置为 true,如所述 here 。我试图达到 100% 键入的代码,但我认为对于这么简单的程序我无法达到这一目标。

最佳答案

/** @type {function(number)} */ 

没有指定“this”类型,因此它是未知的。要以这种方式指定它,您需要使用:

/** @type {function(this:F, number)}

使用“@param {number}”可以让编译器根据在 F 原型(prototype)上声明的事实推断“this”类型。

关于javascript - 使用闭包编译器正确键入实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18424181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com