JSC_TYPE_MISMATCH Google 闭包编译器中的警告
JSC_TYPE_MISMATCH warning in Google Closure Compiler
我尝试使用 Google Closure Compiler,但是在这段代码中:
/**
*
* @constructor
* @suppress {missingProperties}
* @param {string} idOfTableContainer
* @param {Array.<Object>} tableDataInJson
*/
function TableBuilder(idOfTableContainer, tableDataInJson) {
"use strict";
var idParser = new IdParser(idOfTableContainer, "row");
/** @type {Array.<Object>} */
var dataInJson = JSON.parse(JSON.stringify(tableDataInJson));
}
我收到此警告:
JSC_TYPE_MISMATCH: initializing variable
found : *
required: (Array<(Object|null)>|null) at line 14 character 18
var dataInJson = JSON.parse(JSON.stringify(tableDataInJson));
^
没看懂是什么意思:
found : *
*
代表"any"类型。警告说,据 Closure 所知,JSON.parse
returns 是 "any" 类型的结果,Closure 无法确保这将匹配您在 dataInJson
上设置的类型声明.
我尝试使用 Google Closure Compiler,但是在这段代码中:
/**
*
* @constructor
* @suppress {missingProperties}
* @param {string} idOfTableContainer
* @param {Array.<Object>} tableDataInJson
*/
function TableBuilder(idOfTableContainer, tableDataInJson) {
"use strict";
var idParser = new IdParser(idOfTableContainer, "row");
/** @type {Array.<Object>} */
var dataInJson = JSON.parse(JSON.stringify(tableDataInJson));
}
我收到此警告:
JSC_TYPE_MISMATCH: initializing variable
found : *
required: (Array<(Object|null)>|null) at line 14 character 18
var dataInJson = JSON.parse(JSON.stringify(tableDataInJson));
^
没看懂是什么意思:
found : *
*
代表"any"类型。警告说,据 Closure 所知,JSON.parse
returns 是 "any" 类型的结果,Closure 无法确保这将匹配您在 dataInJson
上设置的类型声明.