JavaScript é a linguagem mais querida entre milhões de desenvolvedores front-end em todo o mundo, mas como qualquer ferramenta, ela tem suas peculiaridades.
Você já se perguntou o que acontece quando você usa o operador typeof em null? Bem, esta é uma das coisas mais estranhas e confusas em JavaScript.
O operador typeof funciona bem com literais como "Hello World", pois retorna string como seu tipo. O mesmo vale para números e booleano.
No entanto, quando se trata de nulo, você pode esperar que ele retorne algo como nulo ou indefinido, certo? Mas você pode se surpreender ao saber que quando usamos o operador typeof em null, ele na verdade retorna object.
Este resultado parece estranho e pode facilmente enganar os desenvolvedores, especialmente aqueles que são novos em JavaScript.
Mas por que o JavaScript faz isso?
Para entender isso, temos que voltar aos primeiros dias do JavaScript na década de 1990.
Naquela época, quando a linguagem estava sendo desenvolvida, houve um erro em seu design. O valor null recebeu um código interno especial semelhante ao usado para objetos. Como resultado, quando o operador typeof verifica null, ele o identifica erroneamente como um objeto.
Embora tenha sido um erro não intencional, ainda é considerado um bug porque desafia a lógica.
Infelizmente, esse bug existe há tanto tempo que corrigi-lo agora provavelmente quebraria muitos códigos existentes que dependem do comportamento atual.
Mas com o tempo, muitos desenvolvedores aprenderam a conviver com isso e a encontrar maneiras de contornar isso.
Este é um lembrete para todos nós de que nenhuma linguagem de programação é perfeita, não importa quão amplamente utilizada.
A ideia é entender essas peculiaridades, tornar-se um desenvolvedor melhor e escrever um código mais confiável e livre de erros para a geração futura.
Para se manter atualizado com mais conteúdo relacionado ao desenvolvimento web e IA, sinta-se à vontade para me seguir. Vamos aprender e crescer juntos!
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