Versión de TypeScript: 2.2 a la actual
Código
Archivo TS:
export class Object {}
tsconfig.json:
{"compilerOptions": {"target": "es5"}}
Comportamiento esperado:
El módulo debería poder inicializarse como lo hizo en TypeScript 2.1.
Comportamiento real:
El módulo no se inicializa; TypeError: Object is undefined
.
El código emitido es
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var Object = (function () {
function Object() {
}
return Object;
}());
exports.Object = Object;
Claramente, Object.defineProperty
está destinado a hacer referencia al Object
global, pero en su lugar obtiene una variable local no inicializada.
Como solución temporal, puede nombrar su clase _Object
y escribir export { _Object as Object }
Esto debería ser un error, similar al error que emitimos si declaras tu propio _this
.
RP bienvenidos.