Dúvida: Como funciona o NULL em JS?
Introdução a dúvida
Sim, a dúvida parece simples no primeiro momento. Mas, eu acredito que ao decorrer do artigo, ela fique complexa, quero dizer, pelo menos para mim, foi haha.
Algum tempo atrás, iniciei uma pesquisa para entender o valor null, após ver um reels, onde um programador fazia aquelas clássicas piadas com coisas que não fazem sentido na programação, então apenas por curiosidade, achei intrigante e decidi conferir para ter certeza que aquilo não era apenas uma brincadeirinha ou até mesmo uma informação equivocada.
A questão do valor nulo que me surgiu a dúvida foi: porque ele não tem um padrão em sua igualdade com valores inicialmente, primitivos??
Vi vários artigos, blogs, vídeos e também o nosso querido Stackoverflow. Pesquisando eu achei a seguinte resposta: stackoverflow
Eu posso ter entendio algo errado, mas a resposta basicamente explica como ocorre a coerção de valores dentro do (JS). Que é a forma implícita de conversão de valores que a linguagem manipula! Etendo que isso, não explica o valor de null.
Então fiz alguns testes, para tentar achar uma lógica por trás dos valores e fiquei ainda mais intrigado, pois de fato, só deu ainda mais nó na minha cabeça, fez com que a lógica simplesmente não existisse. Confira os testes abaixo:
Vamos primeiramente separar os testes, primeiro fiz a comparação com o valor 0:
Observe que até o momento, para mim, não faz nenhum sentido. Pois, dá a entender que null não é nem igual, nem maior que zero, mas é maior e menor igual??
Então, separei novamente e tentei fazer o mesmo teste, com números positivos. Depois foi com 1:
E depois com -1:
Para piorar o cenário, comparei com valores boleanos:
Bom, é basicamente isso. Eu não entendo a lógica por trás de null. Entendo seu uso, mas o funcionamento de como a linguagem trata isso, para mim, é um mistério. Dai pergunto isso aos mais experientes que conseguirem ajudar, fiquem a vontade, bora discutir!