Как удалить свойство p
из прототипа объекта?Как переопределить свойство из прототипа?
var Test = function() {};
Object.defineProperty(Test.prototype, 'p', {
get: function() { return 5; }
});
Object.defineProperty(Test.prototype, 'p', {
get: function() { return 10; }
});
Это производит TypeError: Невозможно переопределить свойство: р. Есть ли способ удалить свойство и повторно добавить его? Или можно установить атрибут configurable
после создания свойства?
Уверенный, вам необходимо определить его как настраиваемый. –
Исходное определение не мое, поэтому я не могу этого сделать. Свойство определено во внешней библиотеке. – stackular
Можете ли вы расширить цепочку прототипов на один уровень глубже (наследовать от Test и поместить ваше свойство посередине) или переопределить его в экземпляре (то есть выполнить функцию MyTest() {t = new Test(); tp = ... ; return t;} ' –