Capa do livro ECMAScript 6 - Entrando de cabeça no futuro do JavaScript
Comprar Livro
Voltar para o site

ECMAScript 6 - Entrando de cabeça no futuro do JavaScript

Conheça os recursos que transformaram o JavaScript em uma linguagem moderna e produtiva.

  • Domine os recursos que tornaram o JavaScript moderno: classes, módulos, promises e arrow functions
  • Escreva código mais curto e legível com destructuring, spread, rest e template strings
  • Entenda iteradores, geradores e proxies — os recursos que quase ninguém explica
Mais vendidoCapa do livro ECMAScript 6 - Entrando de cabeça no futuro do JavaScript

Conheça o conteúdo

Sobre o livro


No início da década de 90, começaram a ser desenvolvidas as primeiras aplicações web. A internet estava tomando forma e as páginas começavam a ficar cada vez mais complexas. No entanto, a maior parte dos usuários que tinham acesso à internet utilizava conexões lentíssimas de, no máximo, 28.8 kbps. Você consegue se imaginar usando uma internet dessas hoje em dia? Nem eu.

Como você deve saber, essa velocidade de conexão não estava conseguindo acompanhar a evolução das aplicações web. Elas ficavam maiores e mais complexas, e a velocidade de acesso não conseguia lidar com isso.

Foi nesta época que o JavaScript — também conhecido por nomes como Mocha, LiveScript, JScript e ECMAScript —, uma das linguagens de programação mais famosas do mundo, nasceu. Ela foi criada em 1995 por um engenheiro da Netscape, chamado Brendan Eich. Originalmente batizada de LiveScript, ela foi lançada pela primeira vez com o Netscape 2, no início do ano de 1996, e prometia ajudar os navegadores dos usuários a acompanhar a evolução das aplicações web.

E para tentar embalar no sucesso na época da linguagem de programação Java, da Sun Microsystems (hoje pertencente a Oracle, que a comprou em 2009), a linguagem mudou o seu nome para JavaScript, mesmo tendo muito pouco em comum com a linguagem Java (e isso causa muita confusão até hoje!). Por este e mais tantos outros motivos, o JavaScript sempre foi conhecido por ser a linguagem de programação mais incompreendida do mundo.

Embora ela tenha sido ridicularizada por muitos anos por ser uma “linguagem de brincadeira”, hoje, praticamente após 20 anos do seu lançamento, ela cresceu absurdamente na comunidade de desenvolvedores, tornou-se mais robusta, poderosa e é usada em uma infinidade de aplicações de alto nível, tanto no front-end quanto no back-end das aplicações. Ela é a tecnologia por trás de ferramentas, frameworks e bibliotecas consagradas no mercado, tais como: Angular, Ember, React, Backbone, jQuery, Grunt... A lista é enorme. Atualmente, é essencial que um profissional de TI tenha domínio desta tecnologia, tanto para aplicações web, aplicativos mobile e/ou desktop.

É exatamente para isto que este livro foi escrito. Para que você seja capaz de entender todas as mudanças que vieram com o ECMAScript 6, aprimorar suas habilidades como desenvolvedor e se destacar no mercado de trabalho que hoje é tão concorrido.

Competências práticas

Tudo o que você vai aprender


  • Substitua laços manuais pelos métodos de Array: map, filter, find, reduce e outros

  • Entenda iteradores e iteráveis e o funcionamento do laço for...of

  • Trabalhe com as estruturas Map, WeakMap, Set e WeakSet

  • Declare variáveis com const e let e saiba exatamente quando usar cada uma

  • Escreva funções mais enxutas com arrow functions e parâmetros predefinidos

  • Use os operadores rest e spread e o desestruturamento de arrays e objetos

  • Modele suas aplicações com classes e organize o código em módulos

  • Lide com código assíncrono usando promises e funções geradoras

  • Explore metaprogramação com proxies e traps de validação

Estrutura do conteúdo

Como o livro está dividido

19 partes e 78 tópicos. Clique em uma parte para ver o que ela cobre.


  • Implementações da especificação
  • Breve histórico
  • Futuro

  • A maneira tradicional de iterar um Array
  • forEach
  • map
  • filter
  • find
  • every
  • some
  • reduce

  • Iteradores
  • Iteráveis
  • Iteradores e iteráveis na prática

  • Diferenças entre o for...of e for...in
  • break e continue
  • Voltando para o Chapéu Seletor

  • Map
  • WeakMap
  • Administrando uma biblioteca

  • Set
  • WeakSet

  • Constantes com const
  • let é o novo var
  • Qual a diferença, no final das contas?

  • Template strings simples
  • Template strings marcado

  • São menos verbosas
  • O contexto de execução é diferente

  • Declaração de propriedades
  • Índices de propriedades computadas
  • Objetos literais x JSON

  • Atribuindo valores padrões
  • Valores undefined
  • Referenciando outros valores padrões
  • Referenciando variáveis internas
  • Utilizando funções como valores padrões
  • Tornando parâmetros obrigatórios

  • Entenda o que arguments faz
  • Arguments X Operador Rest
  • Particularidades do operador Rest
  • Podemos utilizar em conjunto com parâmetros 'fixos'

  • Fazendo compras com o Spread
  • Adicionando itens a um Array
  • Operador Spread em chamadas de funções
  • Operador Rest x Operador Spread

  • Rotulando propriedades
  • Desestruturamento de vários objetos
  • Desestruturamento em retorno de chamadas de métodos
  • Desestruturamento de Arrays
  • Desestruturando Arrays — Parte 2

  • Utilize classes do ES6
  • Estendendo classes
  • Hoisting em classes
  • Declaração por meio de expressões
  • Métodos estáticos
  • Atributos privados com WeakMap
  • Últimas considerações

  • CommonJS x AMD
  • Importar e exportar módulos
  • Exportando classes
  • Rótulos em módulos
  • Últimas considerações

  • O que são funções geradoras?
  • Iterações com geradores
  • Entendendo o Symbol.iterator
  • Delegação de funções geradoras

  • O que são promises?
  • Os estados das promises
  • O esqueleto de uma promise
  • Operações assíncronas
  • Aninhamento de then e catch
  • Como lidar com erros inesperados

  • O que é metaprogramação?
  • Voltando para os proxies
  • Validações de inputs com proxies e traps
  • Desativando um proxy
  • Últimas considerações

Diferenciais únicos

Por que este livro é diferente?


Um recurso por capítulo

Cada novidade do ES6 ganha o seu próprio capítulo, com explicação do problema que ela resolve e exemplos de código.

Do cotidiano ao avançado

Começa por métodos de array que você usa todo dia e chega a geradores, promises e proxies, sem pular a explicação do meio.

Com o porquê, não só o como

O primeiro capítulo separa ECMAScript de JavaScript e conta como a linguagem chegou até aqui — o que faz o resto do conteúdo fazer sentido.

Comparando com o jeito antigo

Vários capítulos mostram o código anterior ao ES6 lado a lado com a versão nova, deixando claro o que você ganha na troca.

Para quem é este livro

Quem aproveita melhor este conteúdo


Quem já programa em JavaScript

Desenvolvedores que aprenderam a linguagem antes do ES6 e querem atualizar a forma de escrever código.

Estudantes de desenvolvimento web

Quem está aprendendo front-end ou Node.js e encontra em tutoriais uma sintaxe que nunca foi explicada.

Quem trabalha com código legado

Profissionais que precisam entender e modernizar bases antigas, reconhecendo o que pode ser reescrito e o que muda de comportamento.

Quem escreveu

Sobre o autor

Diego Pinho

Professor de tecnologia e desenvolvedor de software

Professor há mais de 10 anos, autor de cinco livros sobre programação e criador de cursos online que já formaram milhares de alunos. Nos livros a didática é a mesma das aulas: linguagem simples, foco na prática e exemplos que você consegue reproduzir enquanto lê.

  • Instrutor em programas de formação corporativa e bootcamps
  • Autor de cinco livros sobre programação, três deles pela editora Casa do Código
  • Palestrante em eventos de tecnologia e consultor de capacitação de times

FAQ

Perguntas frequentes

Reuni aqui as dúvidas que mais recebo sobre este livro, do conteúdo à entrega. Clique em uma pergunta para ver a resposta.


Precisa do básico. O livro parte de quem já escreve JavaScript e quer entender o que o ES6 acrescentou à linguagem — não é um livro para aprender a programar do zero.

Continua, e essa é a questão. const e let, arrow functions, classes, módulos, promises e desestruturamento são a base do JavaScript escrito hoje. Tudo o que veio nas versões seguintes foi construído sobre esses recursos.

Serve para os dois. O ECMAScript é a especificação da linguagem, então os recursos valem em qualquer ambiente que execute JavaScript — navegador, servidor ou aplicativo mobile.

Ajuda bastante. Esses frameworks são escritos em JavaScript moderno: módulos, desestruturamento, spread e arrow functions aparecem em praticamente toda linha de código. Entender a linguagem por baixo torna o framework muito mais simples.

Então comece pela lógica de programação. Depois que os fundamentos estiverem firmes, este livro é o passo seguinte para escrever JavaScript no padrão que o mercado usa.

No repositório oficial do livro no GitHub, aberto e gratuito. Todos os exemplos estão lá para você executar e modificar enquanto lê.

Os dois. A editora vende a versão impressa e a digital, e o ebook vem nos três formatos: PDF, EPUB e MOBI. Como o livro tem muito trecho de código lado a lado, a leitura em tela grande costuma render mais.

Tem. A compra é feita direto no site da Casa do Código e, como toda compra pela internet, está coberta pelos sete dias de arrependimento previstos no Código de Defesa do Consumidor.

Informações adicionais

Detalhes do livro

ISBN

978-85-5519-258-6

Ilustração de Diego Pinho (desenho) segurando um livro

Páginas

227

Continue lendo

Outros livros que escrevi


Invista no seu futuro

Garanta acesso imediato

Preço e formas de pagamento diretamente na página da editora.

Quero dominar JavaScript moderno