В JavaScript вы можете использовать оператор Delete для удаления свойств в объекте:
Кода -копия выглядит следующим образом:
var t = {a: 42, b: 26};
console.log (t); // Object {a = 42, b = 26}
Удалить TA;
console.log (t); // Object {b = 26}
Ограничением этой операции удаления свойств является то, что оператор удаления может удалить только все свойства самого объекта и не может удалить свойства, унаследованные от объекта прототипа. Если вы хотите удалить свойство в объекте прототипа, вы должны явно получить объект прототипа и выполнить операции в объекте прототипа:
Кода -копия выглядит следующим образом:
var O = {x: 1, y: 2};
var a = object.create (o);
AZ = 3;
console.log (a); // Object {z = 3, x = 1, y = 2}
Удалить Ax; // не может удалить унаследованное свойство
console.log (a); // Object {z = 3, x = 1, y = 2}
Удалить AZ; // может удалить собственную собственность
console.log (a); // Object {x = 1, y = 2}
Удалить A .__ Proto __. X;
console.log (a); // Object {y = 2}
Если свойство в объекте прототипа удаляется, будут затронуты все объекты, унаследованные от объекта прототипа.
Для возвращаемого значения операции удаления JavaScript следует следующим правилам:
1. Если операция удаления успешна, верните True.
2. Если операция удаления не имеет никакого эффекта (например, свойство, которое должно быть удалено, не существует), оно также вернет True.
3. Если свойство, которое вы хотите удалить, имеет настраиваемое свойство FALSE, в строгом режиме сообщается об ошибке TypeError, а FALSE будет возвращен в нестрадальном режиме.
Если оператор удаления выступает в качестве свойства глобального объекта, то в не Strict-режиме глобальный объект в коде может быть опущен:
Кода -копия выглядит следующим образом:
this.c = 42;
Удалить c; // равное удалению this.c;
Следует отметить, что в строгом режиме приведенный выше метод написания будет вынести ошибку синтаксиса.