javascript - Google Closure 编译器中的 JSC_TYPE_MISMATCH 警告

标签 javascript 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   : *

最佳答案

*代表“任何”类型。该警告表示,据 Closure 所知,JSON.parse返回“any”类型的结果,并且 Closure 无法确保这与您在 dataInJson 上设置的类型声明相匹配。 .

关于javascript - Google Closure 编译器中的 JSC_TYPE_MISMATCH 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30550153/

相关文章:

javascript - 根据 Excel 工作表中的条目动态添加复选框

java - 发现多个文件具有独立于操作系统的路径 'OSGI-OPT/src/org/kohsuke/args4j/spi/URLOptionHandler.java'

c# - 将 Closure Compiler 包含到 ASP.NET 应用程序中

javascript - 创建文件路径的嵌套对象

javascript - 如何取消选中 jquery 复选框并使剩余的复选框结果仍然可用?

javascript - 渐进式 Web 应用程序中的路由

javascript - Google Closure 编译器提示 XMLHttpRequest.response 类型

javascript - 当 --language_out 设置为 ECMASCRIPT_2015 时,Google Closure Compiler 将 "use strict"添加到结果文件中

用于访问 Closure Compiler Service API 的 Python 库

javascript - 按住 4 键后多键输入失败