Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

ECMAScript 6 - Entre de Cabeca No Futuro Do JavaScript, Slides de Programação Javascript

apostila explicando um pouco do es6

Tipologia: Slides

2019
Em oferta
30 Pontos
Discount

Oferta por tempo limitado


Compartilhado em 30/07/2019

moacir-afonso-5
moacir-afonso-5 🇧🇷

4.3

(4)

1 documento

1 / 200

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64
Discount

Em oferta

Pré-visualização parcial do texto

Baixe ECMAScript 6 - Entre de Cabeca No Futuro Do JavaScript e outras Slides em PDF para Programação Javascript, somente na Docsity!

Impresso e PDF: 978-85-5519-258-

EPUB: 978-85-5519-259-
MOBI: 978-85-5519-260-

Você pode discutir sobre este livro no Fórum da Casa do

Código: http://forum.casadocodigo.com.br/.

Caso você deseje submeter alguma errata ou sugestão, acesse

http://erratas.casadocodigo.com.br.

ISBN

Primeiramente, gostaria de agradecer muito à minha família que

sempre me apoiou, motivou e educou a buscar ser melhor sempre.

Também gostaria de agradecer à minha namorada, Bruna Freitas,

que me cobrou todos os dias a continuar escrevendo até terminar o

livro. Sou muito grato aos meus amigos e mentores profissionais,

Fabio Nishihara e Marcelo Suzumura, pela confiança no meu

trabalho e por todos os ensinamentos dados, tanto na área técnica

quanto na de negócios.

Também gostaria de agradecer à editora Casa do Código por me

dar esta oportunidade de compartilhar este conhecimento com

vocês. Em especial, um agradecimento aos meus editores: Adriano

Almeida e Vivian Matsui, que desde o início sempre foram muito

atenciosos e prestativos.

E por fim, mas não menos importante, gostaria de agradecer a

você que está lendo! Obrigado pela confiança! Espero que este livro

o auxilie a se tornar um desenvolvedor ainda melhor!

AGRADECIMENTOS

O ano era 1995. Estava sendo criada uma nova plataforma de

comunicação chamada mIRC (Internet Relay Chat Client), e a

Microsoft acabava de lançar seu próprio navegador, o Internet

Explorer. Ao mesmo tempo, surgia uma nova linguagem, ainda

pouco compreendida e, até certo ponto, ridicularizada.

Originalmente chamada de Mocha, posteriormente teve seu nome

modificado para LiveScript e, por fim, ganhou a imortalidade como

JavaScript.

Passadas mais de duas décadas desde o seu surgimento, é

praticamente impossível imaginar a internet sem ela. E como é

gratificante trabalhar com uma linguagem que evolui dessa

maneira! O JavaScript hoje tem um papel fundamental na evolução

da web.

O lançamento do ECMAScript 6, a mais recente atualização da

especificação, traz uma série de novas features à linguagem.

Recursos estes que vão influenciar diretamente no modo como

desenvolvemos em JavaScript.

E, assim, o JS continuará sua evolução constante, como tem feito

desde sua srcem. Em consequência, você precisará evoluir em

conjunto. Lembre-se sempre disso, pois a evolução está cada vez

mais rápida.

Neste livro, Diego aborda de forma brilhante as principais

mudanças que a ECMAScript 6 trouxe à linguagem. Ele não

apresenta somente o conceito, mas sim como aplicá-lo na prática e

em situações que todos nós vivemos no dia a dia.

Nós dois estivemos no Vale do Silício durante a iMasters

DevTrip 2016, visitando algumas das principais empresas que são

PREFÁCIO

referência para nós desenvolvedores. Lá, ficou claro que a grande

diferença entre os países não é técnica, mas sim a sua cultura de

colaboração.

Lembre-se sempre de que o JavaScript é um código aberto, sem

controle centralizado de corporações e de fácil aprendizado. Busque

trabalhar em colaboração, integrando-se à comunidade e

respeitando as características dessa linguagem criada por Brendan

Eich, em 1995.

Conhecimento precisa ser compartilhado, e é exatamente isso

que Diego faz neste livro. Parabéns, meu caro!

A você, que segura agora este exemplar, uma excelente leitura.

Estude bastante estas páginas e, principalmente, espalhe o seu

conhecimento.

Então, vamos começar?

Tiago BaetaTiago Baeta

Fundador do iMasters — http://www.imasters.com.br

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.

Este livro é destinado aos desenvolvedores web que tenham,

pelo menos, conhecimentos básicos da linguagem JavaScript. A

A QUEM SE DESTINA ESTE LIVRO

11

66

1010

2323

SumárioSumário

1 ECMAScript x1 ECMAScript x JavaScriptJavaScript

1.1 Implementações da especificação

1.2 Breve histórico

1.3 Futuro

2 Precisamos falar sobre o Babel2 Precisamos falar sobre o Babel

2.1 Outras ferramentas

3 Métodos auxiliares para Array3 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áveis4 Iteração com iteradores e iteráveis

4.1 Iteradores

4.2 Iteráveis

4.3 Iteradores e iteráveis na prática

Casa do Código Sumário

9999

106106

116116

126126

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 Rest13 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 Spread14 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 Objetos15 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 classes16 Modelando com classes

16.1 Utilize classes do ES

16.2 Estendendo classes

16.3 Hoisting em classes

16.4 Declaração por meio de expressões

Casa do Código Sumário

138138

150150

161161

171171

16.5 Métodos estáticos

16.6 Atributos privados com WeakMap

16.7 Últimas considerações

17 Módulos17 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 geradoras18 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 promises19 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 proxies20 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

Sumário Casa do Código

CAPÍTULO 1

Antes que possamos dar início às explicações e colocar a mão na

massa, é muito importante entender corretamente o que é o

ECMAScript e qual a sua relação com o JavaScript. O ECMAScript

(ES) é a especificação da linguagem de script que o JavaScript

implementa. Isto é, a descrição de uma linguagem de script, sendo

padronizado pela Ecma International

(http://www.ecmascript.org/index.php) — associação criada em

1961 dedicada à padronização de sistemas de informação e

comunicação — na especificação ECMA-262.

A especificação é definida pelo ECMA Technical Comittee 39

(TC39), comitê formado por especialistas de grandes companhias

da área de tecnologia, tais como: Apple, Google, Microsoft e

Mozilla. Este comitê se reúne a cada dois meses, normalmente na

Califórnia, para discutir o futuro da especificação. As datas das

reuniões, assim como trechos delas, também estão disponíveis

online no site oficial.

Somente para se ter uma ideia da grandeza da especificação, a

última edição do ECMA-262 (até o momento que este livro foi

escrito, estava na 7º edição) possuía 586 páginas. O documento pode

ser encontrado no site oficial da Ecma Internacional

(http://www.ecma-international.org/publications/files/ECMA-

ST/Ecma-262.pdf).

ECMASCRIPT X

JAVASCRIPT

1 ECMASCRIPT X JAVASCRIPT 1

Figura 1.1: A relação entre o ECMAScript e o JavaScript

O ECMAScript é suportado por uma diversidade de aplicações,

principalmente navegadores, em que são implementados pela

linguagem JavaScript. Muitas das implementações adicionam

extensões específicas a linguagem, como é o caso do JScript da

Microsoft. Isso significa que aplicações escritas em uma

implementação podem ser incompatíveis com outras. É sempre

preciso estar atento a isto.

A tabela a seguir mostra algumas das principais engines e

linguagens do mercado que trabalham a especificação.

IImmpplleemmeennttaaççããoo AApplliiccaaççããoo VVeerrssããoo

V 8 GoogleChrome,Node.js,Opera 6

SpiderMonkey Firefox,AdobeAcrobat 6

JavaScriptCore(Nitro) WebKit,Safari 6

JScript 9. 0 InternetExplorer 5. 1

Nashorn Java 5. 1

ActionScript Adobe Flash, Adobe Flex e Adobe AIR 4

Muitas engines ainda não dão suporte completo a todas as

funcionalidades da ES6. Para se manter informado da

1.1 IMPLEMENTAÇÕES DA ESPECIFICAÇÃO

2 1.1 IMPLEMENTAÇÕES DA ESPECIFICAÇÃO