How can I get rid of the warnings on running the following code through Google Closure Compiler Advance mode?
var defaults = {
team : 'ABC',
wr: 'Calvin',
qb: 'Manning'
};
var config = {};
var setters = {
team : function(){ return defaults.team},
wr : function(){ return defaults.wr}
};
for(var i in setters){
config[i] = setters[i].call();
}
alert( config.team);
alert( config.wr);
Number of warnings: 2
JSC_INEXISTENT_PROPERTY: Property team never defined on config at line 19 character 7
alert(config.team);
^
JSC_INEXISTENT_PROPERTY: Property wr never defined on config at line 20 character 7
alert(config.wr);
^
Found it.
@lends does the trick.
var defaults = {
team : 'ABC',
wr: 'Calvin',
qb: 'Manning'
};
var config = {};
var setters =
/** @lends {config} */
{
team : function(){ return defaults.team},
wr : function(){ return defaults.wr}
};
for(var i in setters){
config[i] = setters[i].call();
}
alert(config.team);
alert(config.wr);