Envio ao correio dia 24/02, devido ao Carnaval.

ECMAScript 6 Entre de cabeça no futuro do JavaScript

Diego Martins de Pinho

*Você terá acesso às futuras atualizações do livro.

Conteúdo

Nos últimos anos, a linguagem JavaScript cresceu bastante na comunidade de desenvolvedores, tornando-se mais robusta, poderosa e sendo 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.

Neste livro, Diego Pinho aborda as principais mudanças que a nova versão da especificação trouxe para a linguagem. Você vai aprender não somente o conceito, mas como aplicá-lo na prática em situações reais. Dentre elas, estão:

* Novas maneiras de iterar objetos e coleções

* Declaração de variáveis com let e const

* Melhorias em funções com arrow functions

* As novas de estruturas de Map, WeakMap, Set e WeakSet

* Modularização e classes

* Geradores e símbolos

* E muito mais

Edição atualizada: a evolução do JavaScript não para!

Desde a primeira edição deste livro, que foi lançada em março de 2017, o TC39 — comitê da ECMA Internacional responsável por manter a ECMA-262, especificação que define as características e comportamentos da linguagem JavaScript — lançou mais duas versões da especificação, o ECMAScript 2016 (ES7) e o ECMAScript 2017 (ES8). Ambas as especificações são relativamente menores em relação à versão do ECMAScript 2015 (ES6), mas isso não significa que as funcionalidades adicionadas sejam inúteis, muito pelo contrário, são extremamente importantes e são a evolução de mecanismos trazidos na versão de 2015, como é o caso do async/await.

Para que os leitores continuem evoluindo junto com a linguagem, adicionei dois capítulos extras a esta obra. No primeiro capítulo, vamos explorar com detalhes as funcionalidades do ES7. Lá falaremos sobre o novo operador exponencial — representado por dois asteriscos seguidos (**) — e o Array.prototype.includes.

No segundo capítulo, falaremos sobre o ES8. Esta edição acabou compensando a anterior e trouxe ainda mais ferramentas para o desenvolvedor JavaScript. Lá falaremos sobre os métodos Object.values e Object.entries, padStart e padEnd, Object.getOwnPropertyDescriptors e o poderoso mecanismo de async/await.

E não para por aí. O comitê já está trabalhando no ESNext (nome utilizado para se referir à próxima versão da ECMAScript). Com o tempo, mais funcionalidades serão adicionadas e precisaremos continuar estudando para nos manter atualizados. O JavaScript está em constante evolução, mas com este livro, você também estará.

Saiba o que você vai aprender

 

Sumário

  • 1 ECMAScript x JavaScript
  • 1.1 Implementações da especificação
  • 1.2 Breve histórico
  • 1.3 Futuro
  • 2 Precisamos falar sobre o Babel
  • 2.1 Outras ferramentas
  • 3 Métodos auxiliares para Array
  • 3.1 A maneira tradicional de iterar um Array
  • 3.2 forEach
  • 3.3 map
  • 3.4 filter
  • 3.5 find
  • 3.6 every
  • 3.7 some
  • 3.8 reduce
  • 4 Iteração com iteradores e iteráveis
  • 4.1 Iteradores
  • 4.2 Iteráveis
  • 4.3 Iteradores e iteráveis na prática
  • 5 Iteração com o laço for...of
  • 5.1 Diferenças entre o for...of e for...in
  • 5.2 break e continue
  • 5.3 Voltando para o Chapéu Seletor
  • 6 As novas estruturas de Map e WeakMap
  • 6.1 Map
  • 6.2 WeakMap
  • 6.3 Administrando uma biblioteca
  • 7 Listas sem repetições com Sets e WeakSets
  • 7.1 Set
  • 7.2 WeakSet
  • 8 Declaração de variáveis com const e let
  • 8.1 Constantes com const
  • 8.2 let é o novo var
  • 8.3 Qual a diferença, no final das contas?
  • 9 Manipulação de textos com template strings
  • 9.1 Template strings simples
  • 9.2 Template strings marcado
  • 10 Arrow functions
  • 10.1 São menos verbosas
  • 10.2 O contexto de execução é diferente
  • 11 Melhorias em objetos literais
  • 11.1 Declaração de propriedades
  • 11.2 Índices de propriedades computadas
  • 11.3 Objetos literais x JSON
  • 12 Parâmetros predefinidos em funções
  • 12.1 Atribuindo valores padrões
  • 12.2 Valores undefined
  • 12.3 Referenciando outros valores padrões
  • 12.4 Referenciando variáveis internas
  • 12.5 Utilizando funções como valores padrões
  • 12.6 Tornando parâmetros obrigatórios
  • 13 Parâmetros infinitos com operador Rest
  • 13.1 Entenda o que arguments faz
  • 13.2 Arguments X Operador Rest
  • 13.3 Particularidades do operador Rest
  • 13.4 Podemos utilizar em conjunto com parâmetros “fixos”
  • 14 Expansão com o operador Spread
  • 14.1 Fazendo compras com o Spread
  • 14.2 Adicionando itens a um Array
  • 14.3 Operador Spread em chamadas de funções
  • 14.4 Operador Rest x Operador Spread
  • 15 Desestruturamento de Arrays e Objetos
  • 15.1 Rotulando propriedades
  • 15.2 Desestruturamento de vários objetos
  • 15.3 Desestruturamento em retorno de chamadas de métodos
  • 15.4 Desestruturamento de Arrays
  • 15.5 Desestruturando Arrays — Parte 2
  • 16 Modelando com classes
  • 16.1 Utilize classes do ES6
  • 16.2 Estendendo classes
  • 16.3 Hoisting em classes
  • 16.4 Declaração por meio de expressões
  • 16.5 Métodos estáticos
  • 16.6 Atributos privados com WeakMap
  • 16.7 Últimas considerações
  • 17 Módulos
  • 17.1 CommonJS x AMD
  • 17.2 Importar e exportar módulos
  • 17.3 Exportando classes
  • 17.4 Rótulos em módulos
  • 17.5 Últimas considerações
  • 18 Funções geradoras
  • 18.1 O que são funções geradoras?
  • 18.2 Iterações com geradores
  • 18.3 Entendendo o Symbol.iterator
  • 18.4 Delegação de funções geradoras
  • 19 Operações assíncronas com promises
  • 19.1 O que são promises?
  • 19.2 Os estados das promises
  • 19.3 O esqueleto de uma promise
  • 19.4 Operações assíncronas
  • 19.5 Aninhamento de then e catch
  • 19.6 Como lidar com erros inesperados
  • 20 Metaprogramação com proxies
  • 20.1 O que é metaprogramação?
  • 20.2 Voltando para os proxies
  • 20.3 Validações de inputs com proxies e traps
  • 20.4 Desativando um proxy
  • 20.5 Últimas considerações
  • 21 Um futuro brilhante para o JavaScript
  • 22 Recomendações
  • 23 Referências

Autor

Diego Martins de Pinho

Bacharel em Ciência da Computação pela PUC-SP e MBA em Gestão da Tecnologia da Informação pela FIAP. É aficionado não somente por tecnologia, mas também por empreendedorismo e gestão de negócios. Trabalha com desenvolvimento web desde 2013 e sempre busca tempo para continuar aprendendo e para disseminar o conhecimento.

Dados do produto

Número de páginas:
227
ISBN:
978-85-5519-258-6
Data publicação:
03/2017. Atualizado em 05/2018.

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter