Qual a diferença entre ECMAScript e JavaScript? \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 03 Horas 

 26 Min 

 48 Seg 

   Tempo restante da oferta: 03 26 48 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) Qual a diferença entre ECMAScript e JavaScript?  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

# Qual a diferença entre ECMAScript e JavaScript?

 Conheça a história e as curiosidades por trás da criação do ECMAScript e JavaScript. Entenda de uma vez por todas a diferença entre ECMAScript e JavaScript.

 [ Akira Hanashiro ](https://www.treinaweb.com.br/blog/autor/akira-hanashiro) 6 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/09/qual-a-diferenca-entre-ecmascript-e-javascript.png)  

Olá Web Developers! Se você estuda [JavaScript](https://www.treinaweb.com.br/blog/o-que-e-e-como-comecar-com-javascript/ "JavaScript"), deve ter em algum momento se deparado com o termo `ECMAScript`. Será que eles são a mesma coisa? Por quê temos esses dois nomes tão diferentes? Nesse post vamos entender qual a diferença entre ECMAScript e JavaScript.

## A Criação do Nome JavaScript

A fim de entender a diferença entre ECMAScript e JavaScript, precisamos entender brevemente como o JavaScript foi criado.

Assim que a Internet foi liberada comercialmente para todos, no começo dos anos 1990, a Netscape surgiu com seu navegador `Netscape Navigator`. Havia sempre o lançamento de novas funcionalidades. A fim de permitir interação com o usuário na web (e principalmente permitir validação de formulários), a Netscape resolveu criar uma linguagem de programação que ficaria embutida no navegador.

Assim surgiu a ideia da linguagem `Mocha` (nome de um tipo de café). Logo em seguida esse nome foi trocado para `LiveScript`. Ao mesmo tempo uma nova linguagem estava fazendo muito sucesso, o [Java](https://www.treinaweb.com.br/blog/5-motivos-para-estudar-java/ "Java"). Isso porque na época era comum a necessidade de escrever um código para cada sistema operacional, e com o Java podíamos programar uma única vez e executar nosso código em qualquer lugar.

 [ ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/10/E-BOOK-GRATUITO-COMECANDO-JS.png) ](https://www.treinaweb.com.br/ebook/guia-javascript)

Com a finalidade de aproveitar carona na fama, a Netscape resolveu mudar o nome da sua linguagem para `JavaScript`. Claro que isso foi com aprovação da Sun Microsystems, sua parceira contra a Microsoft e seu recém lançado Internet Explorer. E isso pode causar confusão em muitos iniciantes até hoje, pois é comum pensar que as duas linguagens possuem alguma relação. O [JavaScript fez sua primeira aparição no Netscape Navigator 2.0, em 1995](https://www.cnet.com/news/netscape-and-sun-unveil-javascript/ "JavaScript fez sua primeira aparição no Netscape Navigator 2.0, em 1995").

Em resumo, esse nome foi apenas uma jogada de [marketing](https://www.treinaweb.com.br/blog/por-que-devo-investir-no-marketing-digital/ "marketing").

Uma outra curiosidade é que o nome Java vem da Ilha de Java, principal ilha da Indonésia. O café que ela produzia era tão famoso mundialmente entre os séculos XIX e XX que até hoje a palavra “Java” é sinônimo de café em alguns países.

[  ![React Native - Componentes nativos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/react-native.svg)   Curso React Native - Componentes nativos Conhecer o curso ](https://www.treinaweb.com.br/curso/react-native-componentes-nativos)

## Oracle, a dona da marca JavaScript

Quem criou a linguagem Java foi a `Sun Microsystems`. A empresa registrou essa marca e outras palavras relacionadas. Entre elas estava o nome `JavaScript`.

Na época a Microsoft também resolveu adicionar uma linguagem ao seu navegador. Ela fez engenharia reversa no interpretador de JavaScript. A fim de evitar problemas com a Sun, a Microsoft chamou sua linguagem de `JScript`.

Em 2009 a Oracle comprou a Sun Microsystems. Como resultado, a Oracle passou a ser dona da marca `JavaScript`. Você pode ver todas as [informações sobre o registro sobre o nome JavaScript aqui](https://trademarks.justia.com/750/26/javascript-75026640.html "informações sobre o registro sobre o nome JavaScript aqui"). Conforme essas informações, os direitos sobre o nome JavaScript continuam sendo renovados até hoje pela Oracle.

Isso até causou um problema em 2018 na App Store, quando um desenvolvedor lançou um aplicativo que possuía a palavra `JavaScript`. Em seu post no reddit, o desenvolvedor publicou a mensagem que recebeu da Apple:

> “Como você provavelmente sabe, a Oracle possui o registro de marca registrada dos EUA nº 2416017 para JAVASCRIPT. O vendedor deste aplicativo do iTunes exibe JAVASCRIPT de forma proeminente sem a autorização de nosso cliente. A exibição não autorizada da propriedade intelectual de nosso cliente pode fazer com que os consumidores encontrem este aplicativo e acreditem erroneamente que é proveniente de ou fornecido sob licença da Oracle. O uso da marca registrada de nosso cliente de tal forma constitui violação de marca registrada em violação da Lei Lanham. 15 USC § 1125 (a) (1) (A). Para evitar mais confusão por parte do consumidor e violação dos direitos de propriedade intelectual de nosso cliente, solicitamos que você desative imediatamente o acesso a este aplicativo. Aguardamos sua confirmação de que atendeu a essa solicitação.”

Você pode ver a mensagem original no link: [https://www.reddit.com/r/javascript/comments/8d0bg2/oracle\_owns\_javascript\_so\_apple\_is\_taking\_down\_my/](https://www.reddit.com/r/javascript/comments/8d0bg2/oracle_owns_javascript_so_apple_is_taking_down_my/ "https://www.reddit.com/r/javascript/comments/8d0bg2/oracle&#95;owns&#95;javascript&#95;so&#95;apple&#95;is&#95;taking&#95;down&#95;my/")

[  ![Ruby on Rails Intermediário](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/ruby-on-rails.svg)   Curso Ruby on Rails Intermediário Conhecer o curso ](https://www.treinaweb.com.br/curso/ruby-on-rails-intermediario)

## JavaScript não possui logo

Outra curiosidade é que nem a Sun e nem a Oracle criaram um logo para o JavaScript. E como essa marca pertence à Oracle, ninguém além dela pode fazer isso.

![Logos não oficiais do JavaScript](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/09/javascript-unofficial-logos.png)

Os logos que vemos por aí representando o JavaScript não são oficiais, foram criados pela comunidade. Oficialmente, JavaScript não possui logo. O primeiro logo da imagem acima é o mais usado, e foi apresentado em uma conferência de JavaScript em 2011, a JSConf EU.

Note que a maioria desses logos (com excessão do segundo) utilizam apenas as letras “JS”. Isso não é apenas para o logo ficar mais minimalista. O objetivo é evitar o uso da palavra “JavaScript”, que poderia causar problemas com os direitos de marca que a Oracle possui.

## A Padronização do ECMAScript

Imagine o caos que seria cada navegador com sua própria linguagem. A ideia da web é funcionar igual para todos. A fim de manter um padrão, em novembro de 1996 a Netscape enviou o JavaScript à [ECMA International](https://www.ecma-international.org/ "ECMA International"), uma associação fundada em 1961 que padroniza sistemas de informação. A saber, seu nome significa **E**uropean **C**omputer **M**anufacturers **A**ssociation (Associação Europeia de Fabricantes de Computadores).

Já que o nome `JavaScript` pertencia à Sun, foi preciso registrar com um novo nome. Assim surgiu o nome `ECMAScript`. Porém, como o nome `JavaScript` já estava famoso, continuamos chamando a linguagem assim até hoje em todos os lugares.

Portanto, com essa padronização, todos os criadores de navegadores devem seguir regras que indicam como o ECMAScript (ou JavaScript) deve funcionar. Assim o seu código vai poder funcionar igual em qualquer lugar.

Já mostrei aqui no blog a [explicação das partes estranhas do JavaScript](https://www.treinaweb.com.br/blog/javascript-entendendo-as-partes-estranhas/ "explicação das partes estranhas do JavaScript"). Se você não entende a razão de algo ocorrer no seu código, você pode ler as regras do ECMAScript que os navegadores devem seguir nesse endereço: [https://www.ecma-international.org/ecma-262/11.0/index.html#title](https://www.ecma-international.org/ecma-262/11.0/index.html#title "https://www.ecma-international.org/ecma-262/11.0/index.html#title").

Além disso, você também pode usar a especificação de uma linguagem como base para criar a sua própria linguagem de programação. Foi o que aconteceu com o `ActionScript` da Adobe e `UnityScript` da Unity.

A especificação do ECMAScript está no registro `ECMA-262`. A especificação da [linguagem C#](https://www.treinaweb.com.br/blog/o-que-e-e-como-comecar-com-c-sharp/ "linguagem C#") também está lá, como `ECMA-334`. Você pode vê-la pelo endereço: [http://www.ecma-international.org/publications/standards/Ecma-334.htm](http://www.ecma-international.org/publications/standards/Ecma-334.htm "http://www.ecma-international.org/publications/standards/Ecma-334.htm")

## Versões do ECMAScript

O ECMAScript continua em evolução. Sempre que novas funcionalidades são adicionadas, o documento do registro `ECMA-262` é atualizado. Antes o nome das versões eram seguidos por um número, como `ECMAScript 3` e `ECMAScript 5`.

Em 2015, durante o lançamento do que seria o `ECMAScript 6`, também conhecido como `ES6`, foi decidido que o nome das versões agora viriam com o número do ano de seu lançamento. Por isso que o `ES6` também ficou conhecido como `ECMAScript 2015` (ou `ES2015`).

Então é muito comum que ao fazer referência à linguagem, chamamos de JavaScript. Mas ao se referir a uma versão, chamamos de ECMA ou ES + ano.

[  ![Desenvolvedor Front-end Sênior](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/ux-ui.svg)   Formação Desenvolvedor Front-end Sênior Conhecer a formação ](https://www.treinaweb.com.br/formacao/desenvolvedor-front-end-senior)

## Então, qual a diferença entre ECMAScript e JavaScript?

Há pessoas que defendem que estamos atualmente utilizando ECMAScript, e que o nome JavaScript é usado apenas por costume, já que esse nome pertence à Oracle. Em contrapartida há pessoas que dizem que é tudo a mesma coisa.

Se formos definir que há uma diferença, poderíamos dizer que o ECMAScript é a especificação, e que JavaScript é uma implementação por parte dos navegadores, assim como o ActionScript pela Adobe, UnityScript pela Unity e JScript pela Microsoft.

Em resumo, é como se o ECMAScript fosse a receita de um bolo e o JavaScript fosse o bolo de verdade, em sua forma mais pura e fiel à receita original. ActionScript, UnityScript e JScript seriam os “outros sabores”.

- [ #JavaScript ](https://www.treinaweb.com.br/blog/tag/javascript)
- [ #ECMAScript ](https://www.treinaweb.com.br/blog/tag/ecmascript)

Autor

 ![Akira Hanashiro](//secure.gravatar.com/avatar/d107ca73135bc62770a67ebbfe4cf80d?d=mm)

## Akira Hanashiro

 Graduado em Análise e Desenvolvimento de Sistemas, Pós-graduado em Projetos e Desenvolvimento de Aplicações Web e MBA em Machine Learning. Especializado em Front End e curte desenvolvimento de jogos. 

 [Todos os artigos](https://www.treinaweb.com.br/blog/autor/akira-hanashiro)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/qual-a-diferenca-entre-framework-e-biblioteca-400x280.png)  [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) 

     6 anos atrás

    ##  [ Qual a diferença entre Framework e Biblioteca? ](https://www.treinaweb.com.br/blog/qual-a-diferenca-entre-framework-e-biblioteca) 

     A confusão entre frameworks e bibliotecas é muito comum. Entenda qual a diferença entre eles e qual o melhor.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2017/06/json-vs-objeto-javascript-qual-a-diferenca-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     10 anos atrás

    ##  [ JSON vs Objeto JavaScript - Qual a diferença? ](https://www.treinaweb.com.br/blog/json-vs-objeto-javascript-qual-a-diferenca) 

     Muitas pessoas acreditam que JSON e Objeto JavaScript são a mesma coisa. Descubra a diferença.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/12/qual-computador-comprar-para-programar-400x280.png)  [ Tecnologia ](https://www.treinaweb.com.br/blog/categoria/tecnologia) 

     6 anos atrás

    ##  [ Qual computador comprar para programar? ](https://www.treinaweb.com.br/blog/qual-computador-comprar-para-programar) 

     Saiba tudo o que precisa para comprar um computador para programar.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/11/diferenca_entre_os_atributos_async_e_defer-400x280.png)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     5 anos atrás

    ##  [ Diferença entre os atributos async e defer ](https://www.treinaweb.com.br/blog/diferenca-entre-os-atributos-async-e-defer) 

     Nesse artigo vamos ver em detalhes como os atributos async e defer se comportam ao declarar seus arquivos JavaScript no HTML.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/float-css-400x280.png)  [ CSS ](https://www.treinaweb.com.br/blog/categoria/css) 

     10 anos atrás

    ##  [ CSS: Float vs Inline Block - Qual usar em meus layouts? ](https://www.treinaweb.com.br/blog/css-float-vs-inline-block-qual-usar-em-meus-layouts) 

     Você sabe quando utilizar "float" e "display: inline-block"? Veja as características de cada um e aprenda a aplicá-los em seus projetos.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/10/22100127/o-que-é-json-400x280.png)  [ Desenvolvimento Back-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-back-end) 

     7 anos atrás

    ##  [ O que é JSON? ](https://www.treinaweb.com.br/blog/o-que-e-json) 

     Veja neste artigo o que é JSON.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/03/29143654/TW-ENTREVISTAS-RAFAEL-CAFERATI-400x280.png)  [ Entrevistas ](https://www.treinaweb.com.br/blog/categoria/entrevistas) 

     9 anos atrás

    ##  [ TW Entrevista 06: Rafael Caferati ](https://www.treinaweb.com.br/blog/tw-entrevista-06-rafael-caferati) 

     Fizemos uma série de entrevistas com desenvolvedores chamada "TW Entrevista". O entrevistado de hoje é o Rafael Caferati, desenvolvedor especialista em UI/UX que já foi premiado pelo CSS Design Awards.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/03/29143624/TW-ENTREVISTAS-CAIO-GONDIM-400x280.png)  [ Entrevistas ](https://www.treinaweb.com.br/blog/categoria/entrevistas) 

     9 anos atrás

    ##  [ TW Entrevista 05: Caio Gondim ](https://www.treinaweb.com.br/blog/tw-entrevista-05-caio-gondim) 

     Fizemos uma série de entrevistas com desenvolvedores chamada "TW Entrevista". O entrevistado de hoje é o Caio Gondim, engenheiro de software com passagem pela Globo.com e atualmente no The New York Times.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2016/10/yarn-um-novo-gerenciador-de-dependencias-para-javascript-400x280.jpg)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     10 anos atrás

    ##  [ Yarn: Um novo gerenciador de dependências para JavaScript ](https://www.treinaweb.com.br/blog/yarn-um-novo-gerenciador-de-dependencias-para-javascript) 

     Yarn nasceu para ser uma opção rápida e segura de se gerenciar dependências em JavaScript.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/04/23151327/PARALISIA-ANÁLISE-400x280.png)  [ Carreira ](https://www.treinaweb.com.br/blog/categoria/carreira) 

     8 anos atrás

    ##  [ Paralisia por Análise - o bloqueio que te impede de começar ](https://www.treinaweb.com.br/blog/paralisia-por-analise-o-bloqueio-que-te-impede-de-comecar) 

     Conheça o que é Paralisia por Análise, a razão de várias pessoas não começarem ou finalizarem algo, seja na vida pessoal ou profissional.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/12/usabilidade-x-acessibilidade-quais-as-diferencas-e-relacoes-400x280.png)  [ Acessibilidade e User Experience (UX) ](https://www.treinaweb.com.br/blog/categoria/acessibilidade-e-user-experience-ux) 

     6 anos atrás

    ##  [ Usabilidade x Acessibilidade: quais as diferenças e relações ](https://www.treinaweb.com.br/blog/usabilidade-x-acessibilidade-quais-as-diferencas-e-relacoes) 

     É bem provável que você já tenha ouvido falar sobre os termos acessibilidade e usabilidade. Veremos neste artigo o que vem a ser cada um deles.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/08/seguranca-em-vpc-com-network-acl-e-security-group-400x280.png)  [ Amazon ](https://www.treinaweb.com.br/blog/categoria/amazon) 

     6 anos atrás

    ##  [ Segurança em VPC com Network ACL e Security group ](https://www.treinaweb.com.br/blog/seguranca-em-vpc-com-network-acl-e-security-group) 

     Após criar uma VPC na AWS, não podemos nos descuidar com relação a segurança dessa rede. Existem duas formas de garantir a segurança em VPC no nível de rede: com Network ACL e security groups.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **03h 26min 48s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
