Version TypeScript: 2.2 à la version actuelle
Code
Fichier TS:
export class Object {}
tsconfig.json:
{"compilerOptions": {"target": "es5"}}
Comportement prévisible:
Le module devrait pouvoir s'initialiser comme il l'a fait dans TypeScript 2.1.
Comportement réel:
Le module ne s'initialise pas; TypeError: Object is undefined
.
Le code émis est
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var Object = (function () {
function Object() {
}
return Object;
}());
exports.Object = Object;
Clairement, Object.defineProperty
est destiné à référencer le global Object
, mais il obtient à la place une variable locale non initialisée.
Comme solution de contournement temporaire, vous pouvez nommer votre classe _Object
et écrire export { _Object as Object }
Cela devrait être une erreur, similaire à l'erreur que nous émettons si vous déclarez votre propre _this
.
PR les bienvenus.