Junior
Fale mais sobre os valores null e undefined em JavaScript.
sobes.tech IA
Resposta da IA
-
indefinido:- Valor implícito atribuído a variáveis declaradas mas não inicializadas.
- Também devolvido por funções que explicitamente não retornam valor.
- É um tipo de dado primitivo.
- O operador
typeofdevolve a string"undefined".
-
null:- Valor explícito atribuído a uma variável para indicar a ausência de qualquer objeto.
- Representa a ausência intencional de qualquer valor de objeto.
- É um tipo de dado primitivo, mas o operador
typeofincorretamente devolve"object"(erro histórico).
| Propriedade | indefinido |
null |
|---|---|---|
| Origem | Implícito (pelo sistema) | Explícito (pelo programador) |
| Tipo | Primitivo | Primitivo (embora typeof - object) |
| Valor | Variável não inicializada | Ausência de objeto |
// Exemplo de undefined
let variavelNaoInicializada;
console.log(variavelNaoInicializada); // undefined
function semValorDeRetorno() {
// sem return
}
console.log(semValorDeRetorno()); // undefined
console.log(typeof variavelNaoInicializada); // undefined
// Exemplo de null
let variavelObjeto = null;
console.log(variavelObjeto); // null
console.log(typeof variavelObjeto); // object (erro histórico)