diff options
Diffstat (limited to 'files/pt-br/web/javascript/about_javascript/index.html')
-rw-r--r-- | files/pt-br/web/javascript/about_javascript/index.html | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/files/pt-br/web/javascript/about_javascript/index.html b/files/pt-br/web/javascript/about_javascript/index.html new file mode 100644 index 0000000000..a9751edbe3 --- /dev/null +++ b/files/pt-br/web/javascript/about_javascript/index.html @@ -0,0 +1,63 @@ +--- +title: Sobre JavaScript +slug: Web/JavaScript/About_JavaScript +tags: + - Beginner + - Iniciante + - Introduction + - Introdução + - JavaScript +translation_of: Web/JavaScript/About_JavaScript +--- +<div>{{JsSidebar}}</div> + +<h2 id="O_que_é_JavaScript">O que é JavaScript?</h2> + +<p><strong>JavaScript</strong><sup>®</sup> (frequentemente abreviado como <strong>JS</strong>) é uma linguagem de programação leve, interpretada e orientada a objetos com <a href="https://en.wikipedia.org/wiki/First-class_functions" title="https://en.wikipedia.org/wiki/First-class_functions">funções de primeira classe</a>, conhecida como a linguagem de scripting para páginas Web, mas também <a class="external" href="https://en.wikipedia.org/wiki/JavaScript#Uses_outside_web_pages">utilizada em muitos ambientes fora dos navegadores</a>. Ela é uma linguagem de scripting <a class="mw-redirect" href="https://en.wikipedia.org/wiki/Prototype-based_programming" title="Prototype-based">baseada em protótipos</a>, multi-paradigma e dinâmica, suportando os estilos orientado a objetos, imperativo e funcional.</p> + +<p>JavaScript roda no <em>client side</em> da web, o que pode ser usado para projetar / programar o comportamento de uma página web a partir da ocorrência de um evento. JavaScript é uma linguagem fácil de se aprender mas que também é poderosa, sendo amplamente utilizada para controlar o comportamento de páginas web.</p> + +<p>Diferente do que é dito popularmente, <strong>JavaScript <em>não é</em> "Java Interpretado"</strong>. Em poucas palavras, JavaScript é uma linguagem de scripting dinâmica que suporta a construção de objetos <a href="/en-US/docs/Web/JavaScript/Guide/Details_of_the_Object_Model#Class-Based_vs._Prototype-Based_Languages" title="en-US/docs/JavaScript/Guide/Details_of_the_Object_Model#Class-Based_vs._Prototype-Based_Languages">baseada em protótipos</a>. A sintaxe básica é intencionalmente similar tanto a Java quanto a C++, com o intuito de diminuir o número de conceitos exigidos para se aprender a linguagem. Estruturas da linguagem, como <code>if</code>, <code>for, while</code>, <code>switch</code> e <code>try ... catch</code> funcionam da mesma maneira do que nestas linguagens (ou quase.)</p> + +<p>JavaScript pode funcionar tanto como uma linguagem <a class="external" href="https://en.wikipedia.org/wiki/Procedural_programming" title="https://en.wikipedia.org/wiki/Procedural_programming">procedural</a> como uma linguagem <a class="external" href="/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript" title="https://developer.mozilla.org/en-US/docs/Introduction_to_Object-Oriented_JavaScript">orientada a objetos</a>. Objetos são criados programaticamente em JavaScript, onde métodos e propriedades são anexados a objetos vazios <strong>em tempo de execução</strong>, ao invés das definições sintáticas de classe normalmente encontradas em linguagens compiladas como C++ e Java. Assim que um objeto é construído, ele pode ser usado como um esquema (ou protótipo) para se criar objetos similares.</p> + +<p>As capacidades dinâmicas de JavaScript incluem a construção de objetos em tempo de execução, listas variáveis de parâmetros, variáveis de funções, criação dinâmica de scripts (através da função <code><a href="/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/eval" title="/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/eval">eval</a></code>), introspecção de objetos (através da estrutura <code>for ... in</code>), e recuperação de código fonte (programas escritos em JavaScript podem descompilar funções de volta a seus textos originais).</p> + +<p>Para uma discussão mais aprofundada sobre programação em JavaScript, siga os links da seção <a href="#Recursos_para_JavaScript">Recursos para JavaScript</a>.</p> + +<h2 id="Que_implementações_de_JavaScript_estão_disponíveis">Que implementações de JavaScript estão disponíveis?</h2> + +<p>O projeto Mozilla oferece duas implementações de JavaScript. A implementação <strong>original</strong> de JavaScript foi criada por Brendan Eich enquanto trabalhava na Netscape, e desde então foi atualizada para conformar-se ao padrão <em>ECMA-262 Edition 5</em> e suas versões mais recentes. Esta <em>engine</em>, de codinome <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey" title="en-US/docs/SpiderMonkey">SpiderMonkey</a>, foi implementada em C/C++. A <em>engine</em> <a href="/en-US/docs/Rhino" title="en-US/docs/Rhino">Rhino</a>, criada predominantemente por Norris Boyd (também na Netscape) é uma implementação de JavaScript escrita em Java. Assim como SpiderMonkey, Rhino é compátivel com o padrão <em>ECMA-262 Edition 5</em>.</p> + +<p>Muitas optimizações significantes no tempo de execução, como TraceMonkey (Firefox 3.5), JägerMonkey (Firefox 4) e IonMonkey, foram adicionadas à <em>engine</em> de JavaScript SpiderMonkey com o passar do tempo. Há sempre trabalho sendo feito para melhorar a performance de execução do JavaScript.</p> + +<p>Além das implementações citadas anteriormente, existem ainda outras <em>engines</em> populares de JavaScript como:-</p> + +<ul> + <li>A <a class="external" href="https://code.google.com/p/v8/" title="https://code.google.com/p/v8/">V8</a> da Google, que é utilizada pelo navegador Google Chrome e as versões mais recentes do navegador Opera. Ela também é usada como a <em>engine</em> do <a href="http://nodejs.org">Node.js</a>.</li> + <li>O <a class="external" href="https://www.webkit.org/projects/javascript/index.html" title="https://www.webkit.org/projects/javascript/index.html">JavaScriptCore</a> (SquirrelFish/Nitro) utilizado em alguns navegadores WebKit como Apple Safari.</li> + <li><a class="external" href="http://my.opera.com/ODIN/blog/carakan-faq" title="http://my.opera.com/ODIN/blog/carakan-faq">Carakan</a>, usado em versões antigas do navegador Opera.</li> + <li>A <em>engine</em> <a class="external" href="http://en.wikipedia.org/wiki/Chakra_%28JScript_engine%29" title="http://en.wikipedia.org/wiki/Chakra_%28JScript_engine%29">Chakra</a> utilizada pelo Internet Explorer (apesar de que a linguagem implementada é formalmente chamada de "JScript" para evitar problemas de <em>trademark</em>).</li> +</ul> + +<p>Cada engine de JavaScript da Mozilla expõe uma API pública que os desenvolvedores de aplicativos podem utilizar para integrar JavaScript em seus softwares. O ambiente <em>host</em> mais utilizado para JavaScript é o navegador web. Navegadores web tipicamente usam a API pública para criar <strong>objetos de <em>host</em></strong> responsáveis pelo trabalho de refletir o <a class="external" href="http://www.w3.org/DOM/">DOM</a> no JavaScript.</p> + +<p>Outra aplicação comum para JavaScript é usa-lo como uma linguagem de scripting para o <em>server side</em> (da Web). Um servidor web de JavaScript expõe objetos de <em>host</em> que representam uma solicitação HTTP e objetos de resposta, que são então manipulados por um programa em JavaScript que gera páginas web dinamicamente. <a href="http://nodejs.org">Node.js</a> é um exemplo popular deste tipo de uso.</p> + +<h2 id="Recursos_para_JavaScript">Recursos para JavaScript</h2> + +<dl> + <dt><a href="/pt-BR/docs/Mozilla/Projects/SpiderMonkey" title="/pt-BR/docs/Mozilla/Projects/SpiderMonkey">SpiderMonkey</a></dt> + <dd>Informações pertinentes à implementação de JavaScript em C/C++ criada pela Mozilla (SpiderMonkey), incluindo como integra-la em aplicativos.</dd> +</dl> + +<dl> + <dt><a href="/pt-BR/docs/Mozilla/Projects/Rhino" title="/pt-BR/docs/Mozilla/Projects/Rhino">Rhino</a></dt> + <dd>Informações pertinentes à implementação de JavaScript em Java (Rhino).</dd> + <dt><a href="/pt-BR/docs/Web/JavaScript/Language_Resources" title="/pt-BR/docs/Web/JavaScript/Language_Resources">Recursos da linguagem</a></dt> + <dd>Indicações para os padrões publicados de JavaScript.</dd> + <dt><a href="/pt-BR/docs/Web/JavaScript/A_re-introduction_to_JavaScript" title="/pt-BR/docs/Web/JavaScript/A_re-introduction_to_JavaScript">Uma reintrodução ao JavaScript</a></dt> + <dd><a href="/pt-BR/docs/Web/JavaScript/Guide" title="/pt-BR/docs/Web/JavaScript/Guide">O guia de JavaScript</a> e a <a href="/pt-BR/docs/Web/JavaScript/Reference" title="/pt-BR/docs/Web/JavaScript/Reference">referência para JavaScript</a>.</dd> +</dl> + +<p>JavaScript® é uma marca ou marca registrada pertencente à Oracle nos E.U.A. e outros países.</p> |