Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Dúvida sobre as instruções apresentadas no Cap.03

Galera, beleza?

Porque que a instrução document.write() começa com minúsculo e a Math.round() com Maiúsculo ??

5 respostas
solução!

Fala, Rogério!

É uma pergunta bem diferente... Não encontrei nada sobre essa sua dúvida mas, lendo a documentação, cheguei à conclusão de que é por convenção. Se eu estiver errado, algum colega pode fazer as correções necessárias na explicação a seguir... hehe.

De acordo com a W3Schools (https://www.w3schools.com/jsref/dom_obj_document.asp), o document tem esse nome mesmo (minúsculo). Ele é o nó raiz e "dono" de todos os demais nós do documento HTML. O document é criado quando o documento HTML é carregado.

Math (https://www.w3schools.com/js/js_math.asp) é um objeto estático, assim, não tem construtor e seus métodos e propriedades são estáticos. Isso significa, que não há necessidade de instanciar um objeto do tipo Math antes de utilizá-lo.

Em algumas linguagens, como Java, quando uma classe é estática (como a System, por exemplo), por não haver necessidade de instanciar um objeto desse tipo, chama-se direto os métodos ou atributos dela. Algo assim:

System.out.println("Hello world");

Veja que não foi necessário instanciar um objeto do tipo System, o método out já foi chamado direto.

Então, como o document é criado (instanciado) quando o documento HTML é carregado, ele é uma instância (que tem, por convenção, inicial minúscula). Já Math é um objeto estático, assim, é chamado diretamente, sem a necessidade de instanciar um objeto desse tipo e, por convenção também, tem inicial maiúscula.

Espero ter ajudado.

Abraço.

Perfeito Manoel!

Não sei se estou correto, mas acredito que esta seja uma convenção relacionada à Orientação a Objetos. Não sei se é assim em todas as linguagens, mas me parece que no JS objetos são instanciados com letra minúscula e classes com letra maiúscula. Como o Manoel disse, o document é um objeto instanciado assim que o HTML é carregado, logo a convenção para objetos é letras minúsculas. Na Orientação a Objetos, os objetos são instâncias das classes, que por sua vez possuem métodos diversos para realizar funções diversas, como por exemplo o método write() do objeto document, que imprime uma mensagem no navegador. Existem também as chamadas classes estáticas, as quais não tem a necessidade de instanciar objetos para chamar seus métodos, como o exemplo da classe Math, que possui métodos chamados diretamente por ela, como o round(). Por convenção, classes possuem iniciais maiúsculas, métodos e objetos iniciais minúsculas.

Opa!

Obrigado, Flavio Henrique!

Abraço.

Obrigado pelo retorno Manoel e Raphael.

Perguntei porque o JS é case sensitive, então precisava compreender esta diferença entre as duas instruções.

Agora está claro. Valeu galera!!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software