DEV Community

Uriel dos Santos Souza
Uriel dos Santos Souza

Posted on • Updated on

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.

Top comments (0)