No JavaScript, você pode usar o operador Excluir para excluir propriedades em um objeto:
A cópia do código é a seguinte:
var t = {a: 42, b: 26};
console.log (t); // objeto {a = 42, b = 26}
excluir ta;
console.log (t); // objeto {b = 26}
A limitação desta operação de exclusão de propriedade é que o operador excluir pode excluir apenas todas as propriedades do próprio objeto e não pode excluir propriedades herdadas do objeto do protótipo. Se você deseja excluir a propriedade no objeto Prototype, você deve obter explicitamente o objeto do protótipo e executar operações no objeto Prototype:
A cópia do código é a seguinte:
var o = {x: 1, y: 2};
var a = object.create (o);
AZ = 3;
console.log (a); // objeto {z = 3, x = 1, y = 2}
excluir machado; // não pode excluir a propriedade herdada
console.log (a); // objeto {z = 3, x = 1, y = 2}
excluir az; // pode excluir a própria propriedade
console.log (a); // objeto {x = 1, y = 2}
excluir um .__ proto __. x;
console.log (a); // objeto {y = 2}
Se a propriedade no objeto de protótipo for excluída, todos os objetos herdados do objeto protótipo serão afetados.
Para o valor de retorno da operação de exclusão, o JavaScript segue as seguintes regras:
1. Se a operação de exclusão for bem -sucedida, retorne true.
2. Se a operação de exclusão não tiver efeito (por exemplo, a propriedade a ser excluída não existe), ela também retornará true.
3. Se a propriedade que você deseja excluir tiver uma propriedade configurável do FALSE, um erro TypeError será relatado no modo rigoroso e o FALSE será retornado no modo não rigoroso.
Se o operador de exclusão agir como uma propriedade do objeto global, então no modo não estrito, o objeto global no código poderá ser omitido:
A cópia do código é a seguinte:
this.c = 42;
excluir c; // igual a excluir isso.c;
Deve -se notar que, no modo rigoroso, o método de escrita acima lançará um erro de sintaxe.