Qual a diferença entre null e undefined?
Null e undefined são dois valores especiais em JavaScript que indicam a ausência de valor.
A diferença principal entre null e undefined é o seu significado semântico.
A variável com valor undefined significa que ela foi declarada, mas não foi atribuído nenhum valor a ela. Por exemplo:
let nome; console.log(nome); // Output: undefined
Já a variável com valor null significa que ela foi declarada e explicitamente definida para não ter nenhum valor. O null é atribuído quando se deseja indicar que a variável está vazia ou não tem valor. Por exemplo:
let sobrenome = null; console.log(sobrenome); // Output: null
Em resumo, undefined é um valor atribuído pelo JavaScript quando não há uma atribuição explícita, enquanto null é um valor que pode ser atribuído a uma variável quando se quer representar a ausência de valor.
Outra diferença é que undefined é um tipo primitivo em JavaScript, enquanto null é um objeto especial. Portanto, typeof null retorna “object”, enquanto typeof undefined retorna “undefined”.
É importante mencionar que é uma boa prática verificar se uma variável é igual a null ou undefined antes de usá-la, para evitar erros como “TypeError: Cannot read property ‘x’ of undefined”. Por exemplo:
if (nome === null) { // lógica para tratar quando a variável contém null }
if (typeof sobrenome === ‘undefined’) { // lógica para tratar quando a variável contém undefined }