5 cousas que debes saber sobre o operador ‘borrar’ en javascript

Share

Demo

En JavaScript hai o operador Olete, que se usa para eliminar a propiedade dun obxecto e despois de eliminar a propiedade, esa propiedade xa non pode ser accesible e devolve o valor indefinido, pero hai Outras cousas interesantes que é importante saber sobre o operador Eliminar en JavaScript e nesta publicación comparto-los.


Antes de continuar con esta publicación, recomendo escoitar o podcast: “5 consellos para ser un programador máis produtivo” (non son o Consellos de programación técnica de clásicos, se non rutinas e bos hábitos diarios):
Spotify:

Nube de son:

Ben agora imos continuar coa publicación: 5 cousas que debes saber sobre O operador ‘borrar’ en JavaScript.

Cando o operador Olete está invocado para eliminar unha propiedade, JavaScript devolve VERDADEIRO ou devolución de outra forma, isto só é efectivo nas propiedades dun obxecto e non ten ningún efecto sobre o nomes de variables ou funcións.

O operador de eliminación non debe ser usado nas propiedades do obxecto predefinido en JavaScript como fiestra, matemáticas e data. Isto pode facer que a aplicación funcione inestable. Ben, imos ver unha resposta sobre o operador de eliminación.

Eliminar propiedades dun obxecto

O único xeito de eliminar o completo e as propiedades dun obxecto en JavaScript está a usar o operador delete:

1
3
4
5
6
8
9
10

Div>

11
12
13

var jugue = {
nome : “Zume de laranxa”,
Prezo: “2.50”,
Stock: 36
}
console.log (borrar zume .precio); // eliminar o “prezo”
console.log (zume);
// Despois de executar o comando Console.Log, só obtivo:
{
Nome: “zume de laranxa”,
Stock: 36
}

Despois de executar o comando Console.Log (zume) na consola de comandos de Chrome Dev Tools, só devolve o nome e o stock, o prezo foi eliminado.

Se a propiedade que se intenta existe, o operador de eliminación non terá ningún efecto e devolverá TRUE.

Non podemos borrar as variables coa declaración ‘var’

usando o operador de eliminación pode eliminar as propiedades dun obxecto, pero as propiedades declaradas coa declaración VAR non pode ser borrado:

1
3
4

/ div>

var stock = 36;
console.log (borrar stock);
console.log (stock);

No código anterior, ao executar o comando da consola. Rexistro (stock) na consola de comandos de ferramentas de Chrome Dev, devolvei o valor de accións, xa que non foi eliminado.

e se declara a variable directamente sen var Declaración:

IV id = “

DIV id = “ecf688e2c7”>

Stock = 36;
console.log (borrar stock);
console.log (stock);
1
3

ao executar o comando console.Log (stock) en A consola de comandos de ferramentas de Chrome Dev, devolve-me, xa que elimina o stock variable con éxito.

Eliminar valores dunha matriz

Dende que as matrices en JavaScript son obxectos, os elementos pódese eliminar usando o operador de eliminación:

2
3
4
5
6

var zices =;
console.log (Eliminar zumes); // Eliminou o valor 3R, é dicir, o ‘papaya zume’
console.log (zumes); // Ao executar, obter ‘undefined’
console.log (zumes); // ao executar, teño;
Console.Log (JSON.Stringify (zumes)); // ao executar, teño;

No código anterior borrou o valor de 3º Array de zumes, podes ver que cando imprime os zumes de matriz de diferentes xeitos na consola de comandos de Chrome Dev Tools, obtivo todos os datos, menos o valor 3º, é dicir, o zume de papaya, xa que foi eliminado.

para eliminar elementos baleiros (baleiro, nulo, etc.) Podo executar o seguinte código:

2
3

/ div>

4
6
7
8

var clean = zumes.filter (función (e) {
devolve e! = null;

iv});

console.log (limpo);
// Despois de executar o comando console.Log (limpo); GET:

con Isto só teño os valores dispoñibles na matriz de zume.

Non podemos eliminar obxectos integrados ou predefinidos en JavaScript

Non é seguro eliminar obxectos predefinidos de JavaScript linguaxe de programación como matemática, data e fiestra, por exemplo, se intento eliminar o obxecto predefinido de matemáticas:

2
3

console.log (matemática);
console.log (borrar matemáticas);
console.log (matemática); // Cando executes este comando, a consola devolve “Uncaught ReferencError: Math non está definida ‘

pode causar inestabilidade na miña solicitude, devolvei o refinador de uncaught: as matemáticas non están definidas.

Non podemos borrar propiedades non configurables

as propiedades dun obxecto, ademais dos valores, ten 3 atributos especiais:

  • escribíbel: é verdadeiro se o valor pode ser modificado, se non, a lectura é de lectura.
  • Enumerable: é verdadeiro se aparece en loops, se non aparece.
  • Configurable: é verdadeiro se a propiedade pode ser eliminada ou os atributos poden ser modificados, se non, non se pode cambiar.

Vexamos o seguinte exemplo:

2
3
4
5
6
7
8
9
10
11
13
14

/ div>

15

16

deixe o zume = {

Nome: “Zume de laranxa”,
Prezo: “2.50”,
Stock: 36
}
deixa a descrición = obxecto.getownpropertydescriptor (zume, ‘prezo’);
console.log (json.stringify (descrición));
// ao executar o comando console.log (json.stringify (descrición)); Obter unha descrición cos 3 atributos especiais:
“valor”: “2.50”,
“Wrable”: TRUE,
“Enumerable”: verdadeiro,
“configurable”: true

No código anterior uso o método obxecto.getownpropertydescriptor () para obter unha descrición do prezo de valor co seu valor de atributos especiais, escribíbel, enumerable e configurable.

e se valorar o prezo configurouse o seu configurable atributo a FALSE co método obxecto.DefineProperty (), ao tentar eliminar o prezo de JavaScript non me deixará facelo:

1
2
3
5
6
7
8
9
11
12
13

Deixe Ju. GO = {
Nome: “Zume de laranxa”,
Prezo: “2.50”,
STOCK: 36
}
obxecto.DefineProperty (zume, ‘prezo’, {
Valor: “2.50”,
Configurable: false
});
console.log (borrar zume.precio); // Cando se trata de eliminar o prezo que devolvei ‘falso’
console.log (zume);

No código anterior ao executar o comando Console.Log (Eliminar zume.precio); Volvín FALSE, isto é porque cambias o atributo configurable a FALSE.

y Se está configurado o modo rigoroso no código JavaScript:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

‘use rigoroso’
que imos plazo = {
number: “jugo de Naranja “,
Prezo:” 2.50 “,
Stock: 36
}
Object.DefineProperty (zume, ‘Precio’ , {
: “2.50”,
Configurable: false
});
console.log (Eliminar jugo.precio);
console.log (zume);

Me Devuelve erro: non pode borrar a propiedade ‘prezo’ de # < Obxecto >

Conclusión

Neste post hemos observou 5 situacións en Feito O operador eliminado culpa ou orde complemento. É importante coñecer esta información e que comezou a desenvolver un proxecto de JavaScript, pode presentar algúns dos erros que vimos nesta publicación, se intenta eliminar un obxecto Objeto.

Nota

  • métodos, propiedades, etc. ExpoestOS Nesta publicación, poden ter éxito existir ou continuar en futuras versións de JavaScript, isto non depende de min se non dos desenvolvedores que dan soporte JavaScript.
  • sen Olvides que debemos usar a tecnoloxía para Hacer Cosas Buenas polo mundo.

Deixa unha resposta

O teu enderezo electrónico non se publicará Os campos obrigatorios están marcados con *