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

Math.round sintaxe - função Maiúscula-Minúscula

Olá

nao posso usar math.round iniciando com letra minuscula?

se sim e pq o document.write eu consigo??

abs

4 respostas

Olá Vinícius, tudo bem? Espero que sim!

Não é possível usar com letra minúscula. Isso porque os criadores da biblioteca Math do JavaScript a criaram com a letra maiúscula, e o JavaScript diferencia letras maiúsculas de minúsculas.

O document.write foi criado com a letra minúscula e por isso você consegue utilizar ele dessa forma e não com a letra maiúscula.

Espero que tenha tirado sua dúvida.

Estou à disposição. Bons estudos!

Tudo bem entendi.

Mas e agora como vou saber se criaram com maiúscula ou minúscula cada função? nao vejo logica nisso.

solução!

Bom, se a curiosidade vai mais a fundo, a base disso é na diferenteça no tipo de método chamado em Math e document. Math usa letra maíuscula por que é referência a uma classe, e document usa letra minúscula por que é uma instância, um objeto criado a partir do construtor da classe Document(). Como por convenção usamos letras maíusculas para nomes de classes, e letras minúsculas pra iniciar variáveis, fica dessa forma.

Parte do que isso quer dizer, é que Document existe também com letra maíuscula, mas Document com letra maiúscula é uma classe cujos métodos só rodam nos objetos criados a partir da classe. Porque não faz sentido, por exemplo, você escrever sem determinar onde você tá escrevendo... você precisa ter um objeto que te indique o que exatamente você está manipulando. Math não, o resultado da conta independe de onde ela vai ser utilizada. Você pode escrever por exemplo:

Document minhaPagina = new Document()
minhaPagina.write("texto")

Aí você estará criando uma nova página indicando com a variável chamada "minhaPagina" que é nela que o método .write vai ser utilizado... Como ao declarar a variavel minhaPagina você declarou ela como um objeto do tipo Document, ela herda todos os métodos dessa classe. Ele vai entender que não é pra escrever no "document", nem no "myText", nem no "myBook" (nomes de variáveis fictícias), mas sim no minhaPagina.

Então o que é document com letra minúscula? Como esse nome é o mais obvio e intuitivo para nomear um objeto do tipo Document(), ele ficou reservado para o documento em que escrevemos com mais frequência: o documento onde o script está (geralmente a página html). Mas este é um nome de variável como outra qualquer, só que o valor dela já é definida por padrão e convenção.

Aí entra a classe Math. Se você tiver 5 arquivos diferentes, isso não vai alterar o output dos métodos de Math, certo? 2 + 2 vai ser sempre 4, e ele não sabe a início onde isso vai ser usado (ele te devolve o resultado e você faz o que quiser com ele). Não depende de quem tá chamando esse método... enquanto o "Document" depende de saber ONDE ele está executando o método, a classe Math não depende. Por isso, Math é o que chamamos de uma classe "abstrata"... classe abstrata é aquela que não depende de um objeto específico instanciado para ser utilizada. Os métodos de Math são todos o que chamam de "estáticos", você faz referência diretamente à classe para chamar os métodos. SE a classe não fosse abstrata e você precisasse invocar os métodos a partir de um objeto, você poderia fazer algo assim:

Math calculadora = new Math()
calculadora.round(2+2.568)

Mas como você não precisa do intermédio desse objeto, você chama diretamente a classe. E nome de classe por convenção é escrita com letra maiúscula...

Dependendo do que você já estudou até agora, a explicação pode parecer um pouco complicada a princípio, mas quando você for estudar orientação a objeto (se já não tiver estudado), isso fica extremamente mais claro. Mas o importante nesse ponto é saber que as coisas geralmente NÃO são aelatórias, tiradas da cabeça de um cara qualquer... Via de regra, quase tudo tem um motivo, ainda que nesse momento dos estudos ainda surjam dificuldades pra entender. Sempre vai ter algo mais embaixo que vai ficar mais claro à medida que avançar, né. Não desanime por essas coisas que aparentam ser convenções aleatórias, a grande maioria delas tem um motivo, e serão úteis à medida que evoluir nos estudos.

João e Andre,

Muito obrigado. foi muito esclarecedor.

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