У меня есть следующий фрагмент, в котором последнее использование «удалить» возвращает неожиданное значение.Неожиданное значение «удалить»
function Shape() {
this.a = 10;
}
Shape.prototype.a = 20;
var s = new Shape();
console.log(s.a); // 10
delete s.a; //true
console.log(s.a) // 20
delete s.a; //true
console.log(s.a); // 20
Даже если окончательное «удалить са» возвращает истину, значение «са» по-прежнему возвращает 20.
Если мы не можем удалить объекты на прототипе с помощью ссылки из object (в этом случае 's'), почему ключевое слово delete возвращает true?
Во-вторых,
delete Shape.prototype.a; // true
выдает истинное и свойство действительно удаляется из Shape.prototype. Но есть ли способ удалить 'Shape.prototype.a' через ссылку на объект ''?
Что вы имеете в виду '' delete' возвращает true'? 'delete' - это выражение, а не выражение. – thefourtheye
Вы можете проверить возвращаемое значение «delete» в консоли. Он возвращает «true» после оценки инструкции, если элемент удален. –
Пожалуйста, проверьте использование 'delete' перед тем, как опросить вопрос. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete –