闭包编译器错误:JSC_NOT_A_CONSTRUCTOR

Closure Compiler Error: JSC_NOT_A_CONSTRUCTOR

本文关键字:NOT CONSTRUCTOR JSC 编译器 错误 闭包      更新时间:2023-09-26

我在玩闭包编译器,并放入以下代码:

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: cannot instantiate non-constructor at line 6 character 8 var h = new H(1);

我做错了什么?

您必须通过@constructor:告诉CC函数是构造函数

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