cocoscreator 1.8.1 代码编译的诡异问题

  • Creator 版本:1.8。1

  • 目标平台: Android

  • 详细报错信息,包含调用堆栈:

  • 重现方式:下文详述

  • 之前哪个版本是正常的 :1.5.1

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :Win10x64

  • 编辑器之前是否有其它报错 :

  • 出现概率:100%

  • 额外线索:

整个工程只有一个TS文件,文件内容如下:

const { ccclass, property } = cc._decorator;
@ccclass
export default class PItem extends cc.Component {
public SetItemData(data) {
const preaaaa = this.getPrefix(0);
// tslint:disable-next-line:prefer-for-of
for (let i = 0; i < data.length; i++) {
//
}
// tslint:disable-next-line:prefer-for-of
for (let i = 0; i < data.length; i++) {
//
}
}
private getPrefix(side: number): string {
return “”;
}
}

此时,project.js编译出的结果如下:

__extends(r, e);
r.prototype.SetItemData = function(e) {
this.getPrefix(0);
for (r = 0;; r < e.length; r++) ;
for (var r = 0; r < e.length; r++) ;
};
r.prototype.getPrefix = function(e) {
return “”;
};
return r = __decorate([ o ], r);
}(cc.Component));

接上文,
如果去掉

const preaaaa = this.getPrefix(0)

project.js编译出来是

__extends(r, e);
r.prototype.SetItemData = function(e) {
for (r = 0; r < e.length; r++) ;
for (var r = 0; r < e.length; r++) ;
};
r.prototype.getPrefix = function(e) {
return “”;
};
return r = __decorate([ o ], r);
}(cc.Component));