可疑代码。 'getprop' 运算符的结果未被使用警告 GOOGLE CLOSURE
Suspicious code. The result of the 'getprop' operator is not being used warning GOOGLE CLOSURE
我正在使用 google 闭包并且定义了几个变量。我只在构造函数中定义它们的值。编译代码时出现错误
javascript/model/errorLogger.js:42: WARNING - Suspicious code. The result of the 'getprop' operator is not being used.
==> default: [WARNING] model.ErrorLogger.prototype.errors;
这是代码。
goog.provide('model.ErrorLogger');
/**
* @constructor
*/
model.ErrorLogger = function() {
this.errors =[];
this.errorsHash = {};
}
model.ErrorLogger.prototype.errors;
model.ErrorLogger.prototype.errorsHash;
为什么会出现此警告?我应该提到 typedef 注释吗?
这些行:
model.ErrorLogger.prototype.errors;
model.ErrorLogger.prototype.errorsHash;
没有效果 - 您只是在引用属性而没有对其进行任何操作。这就是它警告您的内容 - 它认为您打算将它们分配给某个东西,或将它们传递给一个函数,或任何具有某种效果的东西。
(此外,这些属性甚至不会以那种形式存在 - 真的不清楚您要在这里做什么。)
您打算从另一个对 OOP 不友好的 "class" 访问 "errors" 和 "errorsHash" :)
您必须为您的两个成员定义访问器,或者告诉编译器您的成员是 public(即使这是默认行为)
/*
* public member
* @public
*/
为您的属性添加此或声明 public getter/setter 将解决您的问题
我正在使用 google 闭包并且定义了几个变量。我只在构造函数中定义它们的值。编译代码时出现错误
javascript/model/errorLogger.js:42: WARNING - Suspicious code. The result of the 'getprop' operator is not being used.
==> default: [WARNING] model.ErrorLogger.prototype.errors;
这是代码。
goog.provide('model.ErrorLogger');
/**
* @constructor
*/
model.ErrorLogger = function() {
this.errors =[];
this.errorsHash = {};
}
model.ErrorLogger.prototype.errors;
model.ErrorLogger.prototype.errorsHash;
为什么会出现此警告?我应该提到 typedef 注释吗?
这些行:
model.ErrorLogger.prototype.errors;
model.ErrorLogger.prototype.errorsHash;
没有效果 - 您只是在引用属性而没有对其进行任何操作。这就是它警告您的内容 - 它认为您打算将它们分配给某个东西,或将它们传递给一个函数,或任何具有某种效果的东西。
(此外,这些属性甚至不会以那种形式存在 - 真的不清楚您要在这里做什么。)
您打算从另一个对 OOP 不友好的 "class" 访问 "errors" 和 "errorsHash" :) 您必须为您的两个成员定义访问器,或者告诉编译器您的成员是 public(即使这是默认行为)
/*
* public member
* @public
*/
为您的属性添加此或声明 public getter/setter 将解决您的问题