En JavaScript, puede usar el operador Eliminar para eliminar las propiedades en un objeto:
La copia del código es la siguiente:
var t = {a: 42, b: 26};
console.log (t); // objeto {a = 42, b = 26}
eliminar ta;
console.log (t); // objeto {b = 26}
La limitación de esta operación de eliminación de propiedad es que el operador Eliminar solo puede eliminar todas las propiedades del objeto en sí, y no puede eliminar las propiedades heredadas del objeto prototipo. Si desea eliminar la propiedad en el objeto prototipo, debe obtener explícitamente el objeto prototipo y realizar operaciones en el objeto prototipo:
La copia del código es la siguiente:
var o = {x: 1, y: 2};
var a = object.create (o);
AZ = 3;
console.log (a); // objeto {z = 3, x = 1, y = 2}
eliminar ax; // no puede eliminar la propiedad heredada
console.log (a); // objeto {z = 3, x = 1, y = 2}
Eliminar AZ; // puede eliminar la propiedad propia
console.log (a); // objeto {x = 1, y = 2}
Eliminar a .__ Proto __. X;
console.log (a); // objeto {y = 2}
Si se elimina la propiedad en el objeto prototipo, todos los objetos heredados del objeto prototipo se verán afectados.
Para el valor de retorno de la operación Eliminar, JavaScript sigue las siguientes reglas:
1. Si la operación de eliminación es exitosa, devuelva verdadero.
2. Si la operación de eliminación no tiene ningún efecto (por ejemplo, la propiedad a eliminar no existe), también devolverá verdadero.
3. Si la propiedad que desea eliminar tiene una propiedad configurable de falso, se informará un error de typeError en modo estricto, y False se devolverá en modo no riguroso.
Si el operador Eliminar actúa como una propiedad del objeto global, entonces en modo no riguroso, se puede omitir el objeto global en el código:
La copia del código es la siguiente:
this.c = 42;
eliminar c; // igual para eliminar esto.c;
Cabe señalar que en modo estricto, el método de escritura anterior lanzará un error de SyntaxError.