DEV Community

Uriel dos Santos Souza
Uriel dos Santos Souza

Posted on • Edited on

1

Peculiaridades do JS. Que não são erros! Nem esquisitice! - Null

JavaScript é uma linguagem interessante.
Null pode ser um grande problema em JS.

Null não é um primitivo. Mas por qual motivo?

Java. Sim é culpa do Java.

Saiba que null foi introduzido no início para representar "ausência de um objeto" em uma ponte Java-para-JavaScript planejada . Por isso typeof null é object.
Com a palavra o criador da linguagem.

lembre-se Null é um objeto.

typeof null === 'object'
Enter fullscreen mode Exit fullscreen mode

Então temos Null em JS por causa do JAVA.

Algo importante evite Null o máximo possivel.

A maioria dos desenvolvedores usa null e undefined de forma inconsistente e intercambiável, e poucos sabem quando usar qual.
Suportando ambos null e undefined complica a validação de entrada.
Os recursos JS mais recentes, como parâmetros padrão, funcionam apenas com undefined.

Prefira SEMPRE que puder undefined

Douglas Crockford acha que null é uma má ideia:

O proprio criador do Null se arrepende muito disso.

Null References: The Billion Dollar Mistake

Tony Hoare introduced Null references in ALGOL W back in 1965 "simply because it was so easy to implement", says Mr. Hoare. He talks about that decision considering it "my billion-dollar mistake".

favicon infoq.com

Claro que isso de não usar Null não é uma lei.
Você pode sim usar, mas a ideia é deixar de usar.
Seus casos especificos podem continuar usando sem problemas.

Algo pertinente.

Não aborde o JavaScript e Java como um ponto de familiaridade

Nem outra linguagem orientada a objetos que você conheça!

Esse é um caminho de dor e expectativas não atendidas.
Frustrações e xingamentos para todo lado...

JavaScript é algo próprio - comece do zero. Brendan Eich foi contratado com a intenção de fazer "Scheme no navegador" - por de marketing impuseram o nome JavaScript (primeiro nome foi Mocha e depois LiveScript) colocam uma sintaxe semelhante a JAVA numa esperança de aumentar a adoção.

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (0)

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post