вот мой кодконструктор прототипа подкласса перечисляемость в машинописном
class Animal {
constructor(public name: string){}
}
class Cat extends Animal {
constructor(public name: string) {
super(name);
}
}
выводит следующий код:
var __extends = this.__extends || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
var Animal = (function() {
function Animal(name) {
this.name = name;
}
return Animal;
})();
var Cat = (function (_super) {
__extends(Cat, _super);
function Cat(name) {
_super.call(this, name);
this.name = name;
}
return Cat;
})(Animal);
свойства конструктор прототипа класса Cat является несчетным по умолчанию , но метод __extends изменил это, как я могу это исправить? Я знаю, что следующий код может это сделать, но я хочу, чтобы TypeScript изначально поддерживал!
Object.defineProperty(Cat.prototype, 'constructor', {
enumerable: false
});
У меня была аналогичная проблема с '__extends' функции и положение машинописи кажется мейнтейнера быть не использовать ES5 особенности в Это. Однако они позволяют заменять функцию, назначая '__extends' до того, как будет выполнен какой-либо подкласс. –
Эх, почему вам все равно нужна перечислимость объектов-прототипов? – Bergi