javascript - 关闭编译器错误: JSC_NOT_A_CONSTRUCTOR

标签 javascript optimization google-closure-compiler

我正在使用闭包编译器并输入以下代码:

var obj = (function() {
  function H(a) {
    this.a = a
  }
  var h = new H(1);
  h.b=1
  return h
})();

我想看看它是否会将其转换为这样:

var obj = (function() {
  function H(a) {
    this.a = a;
    this.b = 1
  }
  var h = new H(1);
  return h;
})();

但是我得到了这个错误
JSC_NOT_A_CONSTRUCTOR:无法在第 6 行第 8 行字符处实例化非构造函数 var h = new H(1);

我做错了什么?

最佳答案

你必须通过 @constructor 告诉 CC 该函数是一个构造函数:

/**
 * Makes an H.
 * @constructor
 */
function H() {
  ...
}

关于javascript - 关闭编译器错误: JSC_NOT_A_CONSTRUCTOR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25628005/

相关文章:

javascript - 映射数组的问题

javascript - 如何使用 javascript、Angular 解析 doc/docx 文件

javascript - Spring Boot 缩小 javascript

c++ - 打印一系列数字优化第 1 部分

c++ - 直接访问指针是否比通过结构访问指针更快?

google-closure-compiler - Closure Compiler - 在不从磁盘读取的情况下在命令行中解析 Javascript?

javascript - 从混淆的javascript代码获取混淆的 typescript 调用堆栈

javascript - javascript 中的一切都可以异步吗?

javascript - 如何防止 Closure Compiler 在全局命名空间中创建特定的变量名?

bash - 如何快速删除文件中包含 BASH 中另一个文件列表中项目的行?