DEV Community

Discussion on: Operador de Nullish Coalescing (??) em Javascript

Collapse
 
eduardoklosowski profile image
Eduardo Klosowski

Eu sempre acho muito importante entender o que é considerado verdadeiro e falso nas linguagens, isso pode inclusive resultar em códigos mais simples. Um exemplo de Python que sempre uso: imagine uma string nome e deseja-se validar se ela tem algum caractere:

if len(nome) != 0:
Enter fullscreen mode Exit fullscreen mode

Porém o valor 0 é interpretado como falso, e qualquer coisa diferente disso é interpretado como verdadeiro, então:

if len(nome):
Enter fullscreen mode Exit fullscreen mode

Porém, de forma semelhante ao 0, strings vazias são interpretadas como falso, e se tiverem algum caractere é interpretada como verdadeiro, então:

if nome:
Enter fullscreen mode Exit fullscreen mode

Muito mais simples e direto.

Collapse
 
reisdev profile image
Matheus dos Reis de Jesus • Edited

Eu acho curioso que essas simplificações, ora são um problema, ora são uma solução! Conhecer bem as ferramentas é essencial pra escrever um código simples e confiável! Obrigado por acrescentar ao post!

Collapse
 
eduardoklosowski profile image
Eduardo Klosowski

Sim, e elas se tornam um problema principalmente quando se desconhece o comportamento da linguagem.

Thread Thread
 
reisdev profile image
Matheus dos Reis de Jesus

Exato! E vejo isso acontecer principalmente com Javascript.. quem tá começando sofre

Thread Thread
 
eduardoklosowski profile image
Eduardo Klosowski

Uma coisa que sinto falta no JS é uma documentação, como a do Python. Sei que existe a documentação do node e a da Mozilla, porém quando eu tenho alguma dúvida de Python eu posso ir lá e consultar de forma fácil a documentação da estrutura de controle, e até analise lexical, exemplo. Enquanto no JS tem documentação das funções, ou textos que parecem mais posts de artigos explicando algo, e não como uma documentação propriamente dita (consisa e normativa).

Thread Thread
 
urielsouza29 profile image
Uriel dos Santos Souza

Concordo

Thread Thread
 
reisdev profile image
Matheus dos Reis de Jesus • Edited

Também Concordo! Talvez essa seja uma das maiores causas dos muitos problemas que enfrentamos com a linguagem