Google闭包编译器不会移除带有@define注释的不可访问代码
Google closure compiler doesn't remove unreachable code marked with @define annotation
为什么这段代码在使用SIMPLE_OPTIMIZATIONS编译后没有产生空字符串
/**
* @define {boolean}
*/
var TEST = false;
(function() {
if (TEST) {
foo();
}
})();
,而我得到了下面的?
var TEST=!1;(function(){TEST&&foo()})();
if
不可访问,但闭包编译器不会删除该代码。
"高级优化"的结果是我所期望的(空),但"简单优化"给出了上述结果。为什么会有这种差异?在这两种情况下,代码都不会被执行。
编辑:
如果我移除闭包,if
块也会被移除。为什么闭包不会发生这种情况?
我相信如果使用"高级优化"
相关文章:
- Javascript中的备选注释方法
- html5视频中的Youtube类型注释
- 为什么要对define.md和module.exports进行条件检查,以及条件何时通过
- 如何允许在TinyMCE中使用valid_elements进行注释标记
- ACE编辑器正在删除模块,因为define是't一根绳子
- NodeJ中的注释会影响性能吗
- AngularJS指令模板开头的注释
- 在RequireJS define函数中如何处理参数
- 如何用正则表达式替换特定的JavaScript注释
- 如何摆脱"压缩/块”;PHP页面底部的注释
- 在if语句注释的条件内指定变量的值
- Visual Studio 2012:更改javascript注释样式
- 使用JQuery或Javascript编辑HTML注释文本
- 查找所有注释的JavaScript正则表达式
- 使用PrimeNG组件时出现问题(未找到指令注释)
- 谷歌关闭注释赢得'Don’不要告诉我;I’我错了
- 'define' 在 RequireJS 和 Webapp Yo 生成器上未定义错误
- x-editable on按钮,如何编辑特定注释
- 使用 GCC 连接多个 JS 模块,从 ES2015 转译并注入带有 @define 注释的变量
- Google闭包编译器不会移除带有@define注释的不可访问代码