5 coisas que precisa de saber sobre o operador de apagar em JavaScript
In JavaScript, o operador de eliminação é empregado para eliminar uma propriedade de um objecto. Após apagar a propriedade real, essa propriedade não será acessível e retorna undefined
.
A invocação do delete
o operador retorna true
quando remove uma propriedade e false
caso contrário. só é eficaz nas propriedades de um objecto, não tem efeito nos nomes de variáveis ou funções.
O operador de eliminação não deve ser utilizado em propriedades pré-definidas de objectos JavaScript como window
Math
, e Date
objectos. Pode danificar a sua aplicação.
Vamos examinar alguns factos sobre o delete
operator.
Delete object properties
A única maneira de remover completamente as propriedades de um objecto em JavaScript é usando delete
operator.
se a propriedade que está a tentar apagar não existir, apagar não terá qualquer efeito e pode voltar a ser verdadeiro.
p>Construção de eliminaçãoem objectos como Math
Date
, e window
os objectos são inseguros, e podem travar toda a sua aplicação.
Deleting nonfigurable properties
Object properties, além de um value
, tem três atributos especiais:
-
writable
– setrue
, o valor pode ser alterado, caso contrário, é apenas de leitura. -
enumerable
– setrue
, é listado em loops, caso contrário não está listado. -
configurable
– setrue
, a propriedade pode ser apagada ou os atributos podem ser modificados, caso contrário, não pode ser alterada.
/div>
Os valores atribuídos usando Object.defineProperty
e definidos para configurable: false
num objecto não podem ser apagados.
/div>>
Em modo estrito, atirá um erro se tentar apagar uma propriedade não configurável.
Conclusion
delete
é a única forma verdadeira de remover as propriedades de um objecto sem quaisquer restos, mas funciona ~100 vezes mais lentamente se estiver a usar delete
em loops.
A solução alternativa é definir o valor para un
definido como object = undefined
. Não elimina totalmente a propriedade, apenas define o valor como indefinido. a escolha não é exactamente uma solução proeminente, mas se a utilizar com cuidado, poderá melhorar o desempenho.
p>sim é tudo! Espero que este texto possa ajudar a perfurar o operador de apagamento
Agradecimentos de leitura 🙂