5 coisas que você deve saber sobre o operador ‘delete’ em javascript

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:

div id = “ecf688e2c7”>

Stock = 36;
console.log (excluir estoque);
console.log (estoque);
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
  • Enumerable: é verdadeiro Se ele aparece em loops, caso contrário ele não aparecer

  • 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.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *