小编Z.W*_*.W.的帖子

使用Closure-Compiler键入检查数组内容

在Google Closure中,如果初始化Array某个特定@type {Array.<type>}内容,我可以确定Google Closure是否会确认数组内容?

这是一个小测试用例.在我看来,一个人{Array.<string>}偷偷通过{Array.<number>}支票,虽然a {string}被同一支票正确阻止.我对GC有点新意,这是我的错误吗?

我已将此粘贴到Google Closure服务中,我只显示了两个预期错误中的一个(2013年9月12日).我双测试这对我的本地jar文件(最新,v20130823)与ADVANCED_OPTIMIZATIONSwarning_level VERBOSE.它仍然看起来像{Array.<string>}偷偷摸摸.

文档:为Google Closure添加注释

提前感谢您的意见.

// ==ClosureCompiler==
// @output_file_name default.js
// @compilation_level ADVANCED_OPTIMIZATIONS
// @warning_level VERBOSE
// @language ECMASCRIPT5
// ==/ClosureCompiler==

/**
    no warning, as expected:
    @type {Array.<number>}
*/
var a = [1,2,3,4];

/**
    warning! Type mismatch as expected:
    @type {Array.<number>}
*/
var b = 'mismatch';    // {string} does not match {Array.<number>}

/**
    no warning, …
Run Code Online (Sandbox Code Playgroud)

javascript google-closure-compiler jsdoc

6
推荐指数
1
解决办法
836
查看次数