demo
em javascript há o operador olete, que é usado para excluir a propriedade de um objeto e depois de excluir a propriedade, essa propriedade não pode mais ser acessível e retorna o valor indefinido, mas há Outras coisas interessantes que é importante saber sobre o operador delete em javascript e neste post eu os compartilho.
Antes de continuar com este post, eu recomendo ouvir o podcast: “5 dicas para ser um programador mais produtivo” (eles não são Dicas de Programação Técnica Clássica, Se não rotines e bons hábitos diários): Spotify:
Sound Cloud:
Bem agora vamos continuar com o post: 5 coisas que você deve saber sobre O operador ‘Excluir’ em JavaScript.
Quando o operador olete for chamado para excluir uma propriedade, o JavaScript retorna true ou de outra forma retorna falso, isso só é eficaz nas propriedades de um objeto e não tem efeito no Nomes de variáveis ou funções.
O operador de exclusão não deve ser usado nas propriedades de objeto predefinidas em JavaScript como janela, matemática e data. Isso pode fazer com que o aplicativo funcione instável. Bem, vamos ver algumas coisas Sobre o operador de exclusão.
Excluir propriedades de um objeto
A única maneira de remover o desempenho e as propriedades de um objeto em javascript está usando o operador de exclusão:
1
3
4
5
8
9
10
div> 11
12
|
var suco = {
nome : “Suco de laranja”,
Preço: “2.50”,
estoque: 36
}
console.log (delete suco .precio); // Eliminar o ‘preço’
console.log (suco);
// depois de executar o comando console.log, eu só obtenho:
{
nome: “suco de laranja”,
Estoque: 36
}
|
Depois de executar o comando console.log (suco) no console de comando do cromo dev ferramentas, ele apenas me retorna nome e estoque, o preço foi excluído.
Se a propriedade que é tentada, o operador de exclusão não terá efeito e retornará true.
Não podemos excluir variáveis com a instrução ‘var’
Usando o operador de exclusão você pode excluir as propriedades de um objeto, mas as propriedades declaradas Com a instrução VAR não pode ser excluída:
1
3
4
/ div> |
var stock = 36;
console.log (excluir estoque);
console.log (estoque);
|
No código anterior, ao executar o comando do console. Log (estoque) no console de comando de cromo dev ferramentas, voltei o valor do estoque, uma vez que não foi eliminado.
e se eu declarar a variável diretamente sem a instrução VAR:
1
3
4 |
ao executar o comando console.log (estoque) em O Console de Comando Chrome Dev Tools, ele me retorna, pois exclui o estoque variável com sucesso.
Remover valores de uma matriz
Como as matrizes em JavaScript são objetos, os elementos pode ser excluído usando o operador de exclusão:
2
4
5
6
|
vardos Var =;
console.log (delete sucos); // Eliminado Valor 3R, ou seja, o ‘suco de mamão’
console.log (sucos); // Ao executar, obtenha ‘indefinido’
console.log (sucos); // ao executar, eu recebo;
console.log (JSON.Seqüestry (sucos)); // ao executar, eu recebo;
|
No código anterior eu deletei o 3º valor do sucos matriz, você pode ver que quando você imprimir os sucos de matriz de diferentes maneiras nas ferramentas Chrome Dev console de comando, recebo todos os dados, menos o terceiro valor, suco ou seja, mamão, uma vez que foi eliminada.
Para excluir elementos vazios (vazio, nulos, etc.) Eu posso executar o seguinte código:
2
3
/ div> 4
6
7
8
|
var Limpo = Juices.Filter (Function (E) {
Retorno E = null;!
iv}); console.log (limpo);
// após execute o comando console.log (limpo); Eu recebo:
|
com isso só tenho que obter os valores disponíveis na matriz Juice.
objetos
não podemos remover integrados ou pré-definidos em JavaScript
não é seguro para remover objetos predefinidos de JavaScript linguagem de programação como a matemática, a data ea Janela, por exemplo, se eu tentar excluir o Math predefinidos objeto:
2
3
|
console.log (matemática);
console.log (excluir matemática);
console.log (matemática); // Quando você executar este comando, o console retorna ‘Uncaught REferencerror: Math não está definida’
|
pode causar instabilidade na minha candidatura, voltei Uncaught REFINENCEROR:. MATH não está definida
podemos propriedades não de exclusão não configuráveis
As propriedades de um objeto, Além dos valores, tem 3 atributos especiais:
- gravável: é verdade se o valor pode ser alterado, caso contrário, a leitura é somente leitura
- configurável:.. é verdade que a propriedade pode ser excluído ou os atributos podem ser modificados, caso contrário ele não pode ser alterado
Vamos ver o exemplo abaixo:
2
3
4
5
6
7
8
9
10
11
13
14
/ div> 15
16 |
deixe suco = {
Name: “suco de laranja”,
Preço: “2,50”,
Imagem: 36
}
deixe descrição = objeto.GetownPropertyDescriptor (suco, ‘preço’);
console.log (JSON.Stringify (descrição));
// ao executar o comando console.log (JSON.Stringify (descrição)); Obter uma descrição com os 3 atributos especiais:
“valor”: “2,50”,
“gravável”: true,
“enumerable”: true,
“configurável”: true
|
no código anterior eu uso o método Object.GetownPropertyDescriptor () para obter uma descrição do preço de valor com seus atributos especiais valor, gravável, Enumerable e configurável.
e se o preço valor que configurou o configurável atributo para false com o método Object.defineProperty (), ao tentar excluir o preço JavaScript não vai me deixar fazê-lo:
1
2
3
5
6
7
8
9
11
12
13
/ div> |
Deixe Ju. Go = {
Name: “suco de laranja”,
Preço: “2,50”,
Imagem: 36
}
object.defineproperty (suco, ‘preço’, {
Valor: “2.50”,
configurável: false
});
console.log (excluir juice.precio); // Ao tentar excluir o preço, voltei ‘false’
console.log (suco);
|
No código anterior ao executar o comando console.log (Excluir juice.precio); Eu retornei false, isso é porque você altera o atributo configurável para False.
y se configurou o modo estrito no código JavaScript:
1
2
3
5
6
7
8
9
10
11
13
14
15
|
‘use rigoroso’
deixe eu play = {
número: “jugo de Naranja “,
Preço:” 2.50 “,
estoque: 36
}
object.defineproperty (suco,« precio » {
Valor: “2.50”,
Configurável: false
});
console.log (excluir jugo.precio);
console.log (suco);
|
Me Develve Erro: Não é possível excluir a propriedade ‘preço’ de # < objeto >
conclusão
Neste pós-hemos observou 5 situações em O exclusão do operador ou ordem complementar. É importante saber essas informações, e que começou a desenvolver um projeto JavaScript, você pode apresentar alguns dos erros que vimos neste post, se ele tenta eliminar um adereço de objeto.
NOTA
- métodos, propriedades, etc. Expoestos neste post, eles podem ter sucesso ou continuar em versões futuras de JavaScript, isso não depende de mim se não os desenvolvedores que Dan suportam JavaScript.
- nenhum olvides que Debemos para usar a tecnologia para Hacer Cosas Buenas pelo mundo.