[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Guide/Introduction#javascript_and_java [Back]  [Original]

Introduo - JavaScript | MDN

Esta pgina foi traduzida do ingls pela comunidade. Saiba mais e junte-se comunidade MDN Web Docs.

View in English Always switch to English

Introduo

Este captulo apresenta o JavaScript e discute alguns de seus conceitos fundamentais.

In this article

O que voc realmente j deveria saber?

Este guia assume que voc tem os seguintes conhecimentos bsicos:

  • Um entendimento geral da internet e da World Wide Web (WWW).
  • Um bom conhecimento de HyperText Markup Language (HTML)
  • Alguma experincia em programao. Se voc novo em programao, veja alguns tutorias na pgina inicial sobre JavaScript.

Onde encontrar informaes sobre JavaScript

A documentao de JavaScript na MDN inclui o seguinte:

  • Aprendendo sobre a internet fornece informaes aos iniciantes e introduz os conceitos bsicos de programao e da internet.
  • Guia JavaScript (este guia) d uma viso geral sobre a linguagem de programao JavaScript e seus objetos.
  • Referncia JavaScript prov um material de referncia detalhado da linguagem JavaScript.

Se voc novo em JavaScript, comece com os artigos na rea de aprendizado e com o Guia JavaScript. Quando voc j possuir uma compreenso dos princpios bsicos, voc pode usar a Referncia JavaScript para ter mais detalhes sobre objetos e declaraes.

O que JavaScript?

JavaScript uma linguagem de script orientada a objetos e plataforma cruzada usada para tornar as pginas da Web interativas (por exemplo, com animaes complexas, botes clicveis, menus pop-up etc.). H tambm verses mais avanadas do lado do servidor do JavaScript, como Node.js, que permitem adicionar mais funcionalidades a um site do que baixar arquivos (como colaborao em tempo real entre vrios computadores). Dentro de um ambiente de host (por exemplo, um navegador da Web), o JavaScript pode ser conectado aos objetos de seu ambiente para fornecer controle programtico sobre eles.

JavaScript tem uma biblioteca padro de objetos, como: Array, Date, e Math, e um conjunto de elementos que formam o ncleo da linguagem, tais como: operadores, estruturas de controle e declaraes. O ncleo do JavaScript pode ser estendido para uma variedade de propsitos, complementando assim a linguagem:

  • O lado cliente do JavaScript estende-se do ncleo linguagem, fornecendo objetos para controlar um navegador web e seu Document Object Model (DOM). Por exemplo, as extenses do lado do cliente permitem que uma aplicao coloque elementos em um formulrio HTML e responda a eventos do usurio, como cliques do mouse, entrada de formulrio e de navegao da pgina.
  • O lado do servidor do JavaScript estende-se do ncleo da linguagem, fornecendo objetos relevantes execuo do JavaScript em um servidor. Por exemplo, as extenses do lado do servidor permitem que uma aplicao comunique-se com um banco de dados, garantindo a continuidade de informaes de uma chamada para a outra da aplicao, ou executar manipulaes de arquivos em um servidor.

Isso significa que, no navegador, o JavaScript pode alterar a aparncia da pgina da Web (DOM). E, da mesma forma, o JavaScript Node.js no servidor pode responder a solicitaes personalizadas enviadas por cdigo executado no navegador.

JavaScript e Java

JavaScript e Java so similares em algumas coisas, mas so diferentes em outras. O JavaScript assemelha-se ao Java, porm no possui tipagem esttica e checagem rigda de tipos como o Java. JavaScript segue a sintaxe bsica do Java, convenes de nomenclatura e construes de controle de fluxo, razes pelas quais esta linguagem foi renomeada de LiveScript para JavaScript.

Em contraste com o sistema em tempo de compilao das classes construdas por declaraes no Java, JavaScript suporta um sistema em tempo de execuo com base em um pequeno nmero de tipos de dados representando valores numricos, booleanos, e strings. JavaScript tem um modelo de objeto baseado em prottipo em vez do modelo, mais comum, de objeto baseado em classes. O modelo baseado em prottipo fornece herana dinmica; isto , o que herdado pode variar para objetos individuais. JavaScript tambm suporta funes sem quaisquer requisitos especiais declarativos. As funes podem ser propriedades de objetos, executando como mtodos.

JavaScript uma linguagem mais livre em comparao a Java. Voc no tem de declarar todas as variveis, classes e mtodos. Voc no tem que se preocupar com o fato dos mtodos serem pblicos, privados ou protegidos, e voc no tem que implementar interfaces. Variveis, parmetros e tipo de retorno da funo no so explicitamente tipados.

Java uma linguagem de programao baseada em classes, projetada para execuo rpida e segurana de tipos. Segurana de tipo significa que, por exemplo, voc no pode converter um nmero inteiro em Java para uma referncia de objeto ou acessar a memria privada corrompendo bytecodes Java. O modelo baseado em classes do Java significa que os programas so exclusivamente constitudos por classes e seus mtodos. Herana de classe do Java e tipagem forte geralmente requerem hierarquias de objetos fortemente acoplados. Esses requisitos tornam a programao em Java mais complexa do que a programao em JavaScript.

Em contraste, JavaScript descende em esprito de uma linhagem de linguagens menores com tipagem dinmica, como HyperTalk e dBASE. Essas linguagens de script oferecem ferramentas de programao para um pblico muito mais amplo por causa de sua sintaxe mais fcil, funes especializadas embutidas e requisitos mnimos para a criao de objetos.

JavaScript Java
Orientada a objeto. Sem distino entre tipos e objetos. A herana feita atravs do prottipo e as propriedades e mtodos podem ser adicionadas a qualquer objeto dinamicamente. Baseada em classes. Objetos so divididos em classes e instncias com toda a herana atravs da hierarquia da classe. Classes e instncias no podem ter propriedades ou mtodos adicionados dinamicamente.
Os tipos de dados das variveis no precisam ser declarados (tipagem dinmica, vagamente tipado) Os tipos de dados das variveis devem ser declarados (tipagem esttica, fortemente tipado).
No pode escrever automaticamente no disco rigdo. Pode escrever automaticamente no disco rigdo.

JavaScript e a especificao ECMAScript

O JavaScript padronizado pela Ecma International a associao Europeia para a padronizao de sistemas de comunicao e informao (antigamente ECMA era um acrnimo para European Computer Manufacturers Association) para entregar uma linguagem de programao padronizada, internacional baseada em JavaScript. Esta verso padronizada de JavaScript, chamada ECMAScript, comporta-se da mesma forma em todas as aplicaes que suportam o padro. As empresas podem usar a linguagem de padro aberto para desenvolver a sua implementao de JavaScript. O padro ECMAScript documentado na especificao ECMA-262.

O padro ECMA-262 tambm aprovado pela ISO (International Organization for Standardization) como ISO-16262. Voc tambm pode encontrar a especificao no site da Ecma International. A especificao ECMAScript no descreve o Document Object Model (DOM), que padronizado pelo World Wide Web Consortium (W3C) e/ou WHATWG (Web Hypertext Application Technology Working Group). O DOM define a maneira na qual os objetos do documento HTML esto expostos no seu script. Para ter uma ideia melhor sobre as diferentes tecnologias que so usadas durante a programao com JavaScript, consultar o artigo Viso Geral das tecnologias JavaScript.

Documentao JavaScript versus especificao ECMAScript

A especificao ECMAScript um conjunto de requisitos para a implementao ECMAScript. til se voc desejar implementar recursos compatveis com os padres da linguagem em sua implementao ECMAScript ou engine (como SpiderMonkey no Firefox, ou v8 no Chrome).

O documento ECMAScript no se destina a ajudar programadores de script. Utilize a documentao JavaScript para obter informaes ao escrever scripts.

A especificao ECMAScript utiliza terminologia e sintaxe que podem ser desconhecidos para um programador JavaScript. Embora a descrio da linguagem possa ser diferente no ECMAScript, a linguagem em si continua sendo a mesma. JavaScript suporta todas as funcionalidades descritas na especificao ECMAScript.

A documentao JavaScript descreve aspectos da linguagem que so apropriadas para um programador JavaScript.

Comeando com JavaScript

Para comear a aprender JavaScript fcil: Tudo o que voc precisa de um navegador web moderno. Verses recentes do Firefox, Chrome, Microsoft Edge, e Safari todas suportam os recursos discutidos neste guia.

Uma ferramenta muito til para explorar o JavaScript o JavaScript Console (s vezes chamado de Web Console, ou apenas o console): uma ferramenta que permite inserir JavaScript e execut-lo na pgina atual.

A captura de tela aqui mostra o Firefox Web Console, mas todos os navegadores modernos vm com um console que funciona de maneira semelhante.

Abrindo o console

As instrues exatas para abrir o console variam de um navegador para outro:

Inserindo e executando JavaScript

O console aparece na parte inferior da janela do navegador. Na parte inferior do console h uma linha de entrada que voc pode usar para inserir JavaScript, e a sada aparece no painel acima:

Uma janela do navegador com o console da web aberto na parte inferior, contendo duas linhas de entrada e sada. O texto pode ser inserido abaixo disso. [Uma janela do navegador com o console da web aberto na parte inferior, contendo duas linhas de entrada e sada. O texto pode ser inserido abaixo disso.]

O console funciona exatamente da mesma forma que eval: a ltima expresso digitada retornada. Por uma questo de simplicidade, pode-se imaginar que toda vez que algo inserido no console, ele realmente cercado por console.log em torno de eval, assim:

js
console.log(eval("3 + 5"));

Entrada de vrias linhas no console

Por padro, se voc pressionar Enter aps inserir uma linha de cdigo, a string digitada ser executada. Para inserir entrada multilinha:

  • Se a string digitada estiver incompleta (por exemplo, voc digitou function foo() {), o console tratar Enter como uma quebra de linha e permitir que voc digite outra linha.
  • Se voc segurar Shift enquanto pressiona Enter, o console tratar isso como uma quebra de linha e permitir que voc digite outra linha.
  • Somente no Firefox, voc pode ativar modo de entrada multi-linha, em onde voc pode inserir vrias linhas em um mini-editor e, em seguida, executar tudo quando estiver pronto.

Para comear a escrever JavaScript, abra o console, copie o seguinte cdigo e cole na linha de comando:

js
(function () {
  "use strict";
  /* nicio do seu cdigo */
  function greetMe(seuNome) {
    alert(`Ol ${seuNome}`);
  }

  greetMe("Mundo");
  /* Fim do seu cdigo */
})();

Pressione Enter para v-lo abrir em seu navegador!

O que vem em seguida?

Nas pginas seguintes, este guia apresentar a sintaxe e os recursos da linguagem JavaScript, para que voc possa escrever aplicativos mais complexos.

Mas, por enquanto, lembre-se de sempre incluir (function(){"use strict"; antes de seu cdigo e adicionar })(); ao final de seu cdigo. Os artigos modo estrito e IIFE explicam o que eles fazem, mas por enquanto eles podem ser considerados em fazer o seguinte:

  1. Evitam a semntica em JavaScript que engana os iniciantes.
  2. Impedem que trechos de cdigo executados no console interajam entre si (por exemplo, ter algo criado em uma execuo de console sendo usado para uma execuo de console diferente).

Web Proxy Viewer  |  New URL  |  Original Page