TypeScript版本: 2.2到最新版本
代码
TS文件:
export class Object {}
tsconfig.json:
{"compilerOptions": {"target": "es5"}}
预期行为:
该模块应该能够像在TypeScript 2.1中一样进行初始化。
实际行为:
模块初始化失败; TypeError: Object is undefined
。
发出的代码是
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var Object = (function () {
function Object() {
}
return Object;
}());
exports.Object = Object;
显然Object.defineProperty
旨在引用全局Object
,但它改为获取未初始化的局部变量。
作为暂时的解决方法,您可以将您的班级命名_Object
并编写export { _Object as Object }
这应该是一个错误,类似于如果您声明自己的_this
我们所发出的错误。
公关欢迎。