"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como você pode verificar com segurança variáveis ​​​​indefinidas ou nulas em JavaScript?

Como você pode verificar com segurança variáveis ​​​​indefinidas ou nulas em JavaScript?

Publicado em 23/12/2024
Navegar:265

How Can You Reliably Check for Undefined or Null Variables in JavaScript?

Verificando variáveis ​​indefinidas ou nulas em JavaScript

Em JavaScript, é comum encontrar variáveis ​​sem um valor atribuído explicitamente ou variáveis ​​que podem não estar definidas. Isso torna a verificação de variáveis ​​indefinidas ou nulas crucial para manter a integridade do código.

Verificação condicional

A abordagem tradicional para verificar variáveis ​​indefinidas ou nulas envolve uma instrução condicional usando o operador typeof e verificações estritas de igualdade :

if (typeof(some_variable) != 'undefined' && some_variable != null) {
  // Do something with some_variable
}

Embora detalhada, essa técnica garante precisão verificando explicitamente valores indefinidos e nulos. No entanto, alguns desenvolvedores preferem uma notação abreviada:

if (some_variable) {
  // Do something with some_variable
}

Condicional simplificado

Esta notação simplificada depende das regras de conversão implícitas do JavaScript. Qualquer valor não falsey, incluindo variáveis ​​definidas, é avaliado como verdadeiro. Portanto, se alguma_variável for definida e não nula, a condição será verdadeira.

No entanto, esta abreviatura pode levar a um comportamento inesperado em determinadas situações. Por exemplo, o Firebug pode exibir um erro quando some_variable é indefinido, enquanto a condicional mais detalhada será executada sem problemas.

Abordagem recomendada

A maneira mais confiável de verificar valores indefinidos ou nulos é use o operador de igualdade estrito, pois permite um controle mais preciso sobre a comparação:

if (some_variable == null) {
  // some_variable is either null or undefined
}

Esta instrução compara efetivamente some_variable com null e retorna true se for nulo ou indefinido.

Notas

  • A notação simplificada é útil ao verificar variáveis ​​que são assumido como definido, como argumentos opcionais ou propriedades de objeto.
  • Variáveis ​​globais indefinidas sempre serão avaliadas como indefinidas, enquanto verificá-las com typeof pode ser benéfico em certos cenários.
  • O operador de coalescência nulo (??) e a atribuição nula lógica (??=) oferecem alternativas concisas para definir valores padrão na presença de valores nulos ou indefinidos.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3