"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 > Decodificando JavaScript: dominando valores nulos, indefinidos e vazios

Decodificando JavaScript: dominando valores nulos, indefinidos e vazios

Publicado em 2024-08-06
Navegar:149

Decoding JavaScript: Mastering Null, Undefined, and Empty Values

Como sabemos, JavaScript é uma linguagem de tipagem dinâmica, o que às vezes pode nos confundir ao lidar com valores vazios ou inexistentes. Nesta postagem do blog, exploraremos as diferenças entre strings nulas, indefinidas, vazias e arrays vazios em JavaScript, com exemplos de código para ilustrar cada conceito.

1. Nulo

null é um não-valor deliberado. Representa uma variável que foi explicitamente definida como não tendo nenhum valor.

let myVariable = null;
console.log(myVariable); // Output: null
console.log(typeof myVariable); // Output: "object"

Nota: typeof null retorna objeto, que é uma peculiaridade conhecida em JavaScript devido a motivos legados.

2. Indefinido

indefinido representa uma variável que foi declarada, mas ainda não recebeu um valor.

let myUndefinedVariable;
console.log(myUndefinedVariable); // Output: undefined
console.log(typeof myUndefinedVariable); // Output: "undefined"

function myFunction(param) {
    console.log(param);
}
myFunction(); // Output: undefined

3. String vazia ('')

Uma string vazia é uma string válida com comprimento zero.

let emptyString = '';
console.log(emptyString); // Output: ""
console.log(typeof emptyString); // Output: "string"
console.log(emptyString.length); // Output: 0

4. Matriz Vazia ([])

Um array vazio é uma lista sem elementos.

let emptyArray = [];
console.log(emptyArray); // Output: []
console.log(typeof emptyArray); // Output: "object"
console.log(Array.isArray(emptyArray)); // Output: true
console.log(emptyArray.length); // Output: 0

5. Comparação e casos de uso

Vamos comparar esses diferentes tipos:

console.log(null == undefined); // Output: true
console.log(null === undefined); // Output: false

console.log('' == null); // Output: false
console.log('' == undefined); // Output: false

console.log([] == null); // Output: false
console.log([] == undefined); // Output: false

console.log(Boolean(null)); // Output: false
console.log(Boolean(undefined)); // Output: false
console.log(Boolean('')); // Output: false
console.log(Boolean([])); // Output: true

Verificando nulo ou indefinido

function isNullOrUndefined(value) {
    return value == null;
}

console.log(isNullOrUndefined(null)); // Output: true
console.log(isNullOrUndefined(undefined)); // Output: true
console.log(isNullOrUndefined('')); // Output: false
console.log(isNullOrUndefined([])); // Output: false

Tratamento de strings e arrays vazios

function isEmpty(value) {
    if (typeof value === 'string') {
        return value.length === 0;
    }
    if (Array.isArray(value)) {
        return value.length === 0;
    }
    return false;
}

console.log(isEmpty('')); // Output: true
console.log(isEmpty([])); // Output: true
console.log(isEmpty('hello')); // Output: false
console.log(isEmpty([1, 2, 3])); // Output: false

6. Melhores práticas

  1. Use nulo quando quiser indicar explicitamente que uma variável não tem valor.
  2. Deixe as variáveis ​​serem indefinidas quando não receberem um valor.
  3. Use strings vazias ('') quando precisar de uma string sem caracteres.
  4. Use arrays vazios ([]) quando precisar de uma lista sem elementos.
  5. Sempre use igualdade estrita (===), a menos que você tenha um motivo específico para não fazê-lo.
  6. Ao verificar nulo ou indefinido, você pode usar value == null.

Conclusão

Compreender as diferenças entre strings nulas, indefinidas, vazias e arrays vazios é crucial para escrever código JavaScript limpo e sem erros. Cada um tem seus casos de uso e se comporta de maneira diferente em comparações e verificações de tipo. Usando esses valores corretamente e conhecendo suas nuances, você pode escrever aplicativos JavaScript mais robustos e de fácil manutenção.

Lembre-se de sempre considerar o contexto do seu aplicativo ao decidir qual deles usar e seja consistente em sua abordagem em toda a sua base de código.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/akshatsoni26/decoding-javascript-mastering-null-undefined-and-empty-values-hld?1 Se houver alguma violação, entre em contato com [email protected] para excluir isto
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