SlideShare uma empresa Scribd logo
1 de 31
Introdução a
EcmaScript 6
Jonathan Sedrez
ilegra
Desenvolvedor Frontend - React
Hello!
2
“
It’s harder to read code
than to write it.
3
- Joel Spolsky
Javascript - EcmaScript - ES6
É tudo javascript
1
4
Javascript
É uma linguagem de programação interpretada de
alto nível, caracterizada também,como dinâmica,
fracamente tipada, prototype-based e multi-
paradigma.
Javascript não possui mais esse nome desde 1997.
Ela se chama, há 20 anos, ECMAScript.
5
EscmaScript
Antes que o Javascript se tornasse popular, para
que a linguagem evoluísse obedecendo a
determinados padrões e normativas, os criadores
do Javascript se associaram ao ECMA em 1996.
ECMA: Associação fundada em 1961 dedicada à padronização
de sistemas de informação.
6
Versões EscmaScript
7
ES 1
Lançada oficialmente em
1997, representa a primeira
versão da linguagem.
ES 2
criada em agosto de 1997
para se adequar à
ISO/IEC 16262.
ES 3
Implementações de
laços de repetição do-
while, tratamento de
exceções, etc..
ES 4
Baseado em ML, uma
linguagem de programação
funcional mais utilizada em
ambientes de pesquisa
acadêmica.
ES 5
Recursos como o suporte a
JSON, métodos mais
avançados de manipulação
de arrays, getters e setters,
ES 6
Atribui recursos
avançados à linguagem
como reflection,
collections, binary data,
dentre outros.
ES 7
Possui como operadores
exponenciais, dentre
outros.
EscmaScript 6
8
Foram focados em alguns objetivos no desenvolvimento do ES6:
- Ser uma linguagem melhor para construir
aplicações complexas
- Resolver problemas antigos do JavaScript
- Facilidade no desenvolvimento de libraries
Features
2
9
Declaração de variáveis
10
Foram adicionadas duas formas de declarar uma
variável: let e const
let: A diferença principal entre o var e o let é que enquanto o primeiro
tem escopo de função, o segundo possui escopo de bloco
const: Funciona de forma semelhante. A única diferença é que as
variáveis criadas não podem ser reatribuídas.
Default Parameters
11
Os parâmetros predefinidos de uma função permitem
que parâmetros regulares sejam inicializados com
com valores iniciais caso undefined ou nenhum valor
seja passado.
Default Parameters
12
Template Literals
13
Uma outra forma de declarar uma string
concatenando com variáveis da aplicação.
Deixa o código mais limpo e fácil de ler
Template Literals
14
Arrow Functions
15
Arrow functions são um excelente syntax sugar na
criação de funções.
Mas o verdadeiro benefício das arrows functions não
está na expressividade, ele se encontra na resolução
de um antigo problema da linguagem: o this.
Arrow functions
16
Destructuring
17
Uma nova forma de declarar variáveis
extraindo valores de objetos e arrays é
através do destructuring.
Destructuring
18
export/import
19
Exportar módulos é bem simples. Após criarmos uma
função podemos simplesmente adicionar a palavra
export antes da definição da mesma.
export/import
20
Spread operator
21
Spread Operator converte um array em argumentos,
ele é muito útil quando se precisar quebrar um array
para passar seus valores para uma função ou
construtor de um objeto como argumentos de valores
separados.
Spread operator
22
Ternary operator
23
O operador condicional (ternário) é o único operador
JavaScript que possui três operandos. Este operador é
frequentemente usado como um atalho para a
instrução if.
Ternary operator
24
Browser compativeis?
25
Babel
26
É um compilador JavaScript gratuito e de código
aberto e transpiler configurável usado no
desenvolvimento web.
Referências
27
- medium.com/@matheusml/o-guia-do-es6-tudo-que-
voc%C3%AA-precisa-saber-8c287876325f
- developer.mozilla.org/pt-BR/
- medium.com/trainingcenter/afinal-javascript-e-ecmascript-
s%C3%A3o-a-mesma-coisa-498374abbc47
Let’s code!
Exemplos vistos em aula
3
28
Alguma dúvida ?
Thanks!
29
Frontend Roadmap 2019
https://github.com/kamranahmedse/developer-roadmap
4
30
31

Mais conteúdo relacionado

Mais procurados

Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaRogerio Fontes
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavajesuinoPower
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXjesuinoPower
 
Introdução ao Github actions - TDC Connections
Introdução ao Github actions - TDC ConnectionsIntrodução ao Github actions - TDC Connections
Introdução ao Github actions - TDC ConnectionsGuillaume Falourd
 
JavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBJavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBjesuinoPower
 
Unit Test JavaScript
Unit Test JavaScriptUnit Test JavaScript
Unit Test JavaScriptDan Vitoriano
 
Php 7 do início ao profissional
Php 7  do início ao profissionalPhp 7  do início ao profissional
Php 7 do início ao profissionalLeonardo Tumadjian
 
JavaFX 8, Collections e Lambdas
JavaFX 8, Collections e LambdasJavaFX 8, Collections e Lambdas
JavaFX 8, Collections e LambdasjesuinoPower
 
Balsamiq e Pencil - W
Balsamiq e Pencil - WBalsamiq e Pencil - W
Balsamiq e Pencil - WLuiz Agner
 
Criando aplicações java fx em minutos
Criando aplicações java fx em minutosCriando aplicações java fx em minutos
Criando aplicações java fx em minutosBruno Oliveira
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoFlávio Lisboa
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão GeralEder Nogueira
 

Mais procurados (20)

Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis Uberlândia
 
Introdução C#
Introdução C#Introdução C#
Introdução C#
 
Tdd com Node.js
Tdd com Node.jsTdd com Node.js
Tdd com Node.js
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma Java
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFX
 
Introdução ao Github actions - TDC Connections
Introdução ao Github actions - TDC ConnectionsIntrodução ao Github actions - TDC Connections
Introdução ao Github actions - TDC Connections
 
JavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBJavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEB
 
Unit Test JavaScript
Unit Test JavaScriptUnit Test JavaScript
Unit Test JavaScript
 
Php 7 do início ao profissional
Php 7  do início ao profissionalPhp 7  do início ao profissional
Php 7 do início ao profissional
 
Laravel Api
Laravel ApiLaravel Api
Laravel Api
 
JavaFX 8, Collections e Lambdas
JavaFX 8, Collections e LambdasJavaFX 8, Collections e Lambdas
JavaFX 8, Collections e Lambdas
 
Balsamiq e Pencil - W
Balsamiq e Pencil - WBalsamiq e Pencil - W
Balsamiq e Pencil - W
 
Aula09 - Java Script
Aula09 - Java ScriptAula09 - Java Script
Aula09 - Java Script
 
Criando aplicações java fx em minutos
Criando aplicações java fx em minutosCriando aplicações java fx em minutos
Criando aplicações java fx em minutos
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutenção
 
JavaScript
JavaScriptJavaScript
JavaScript
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão Geral
 
Ria e Java FX
Ria e Java FXRia e Java FX
Ria e Java FX
 

Semelhante a Intro ES6

Aula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixAula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixCris Fidelix
 
Aula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixAula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixCris Fidelix
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Alexandre Tarifa
 
The Language VolcanX - ABMSL
The Language VolcanX - ABMSLThe Language VolcanX - ABMSL
The Language VolcanX - ABMSLMichel Alves
 
Construção de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaConstrução de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaFernando Camargo
 
Apresentacao Boas praticas, revisão java, SOLID, KISS, DRY, design patterns, ...
Apresentacao Boas praticas, revisão java, SOLID, KISS, DRY, design patterns, ...Apresentacao Boas praticas, revisão java, SOLID, KISS, DRY, design patterns, ...
Apresentacao Boas praticas, revisão java, SOLID, KISS, DRY, design patterns, ...Vinicius Pulgatti
 
Exemplos de Design Patterns em Java
Exemplos de Design Patterns em JavaExemplos de Design Patterns em Java
Exemplos de Design Patterns em Javaalexmacedo
 
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...Dextra Sistemas / Etec Itu
 
Observable Binding Para Atualização na UI Android
Observable Binding Para Atualização na UI AndroidObservable Binding Para Atualização na UI Android
Observable Binding Para Atualização na UI AndroidVinícius Thiengo
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Lucas Augusto Carvalho
 
Intro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserverIntro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserverEduardo Jorge
 
Módulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresMódulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresLuis Ferreira
 

Semelhante a Intro ES6 (20)

es6
es6es6
es6
 
Es6
Es6Es6
Es6
 
Aula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane FidelixAula 1 - Java - Prof.ª Cristiane Fidelix
Aula 1 - Java - Prof.ª Cristiane Fidelix
 
Aula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane FidelixAula1- Java PRof.ª Cristiane Fidelix
Aula1- Java PRof.ª Cristiane Fidelix
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010
 
Linguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem JavaLinguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem Java
 
The Language VolcanX - ABMSL
The Language VolcanX - ABMSLThe Language VolcanX - ABMSL
The Language VolcanX - ABMSL
 
Construção de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaConstrução de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em Java
 
Ruby & Rails
Ruby & RailsRuby & Rails
Ruby & Rails
 
Aula05-JavaScript
Aula05-JavaScriptAula05-JavaScript
Aula05-JavaScript
 
Apresentacao Boas praticas, revisão java, SOLID, KISS, DRY, design patterns, ...
Apresentacao Boas praticas, revisão java, SOLID, KISS, DRY, design patterns, ...Apresentacao Boas praticas, revisão java, SOLID, KISS, DRY, design patterns, ...
Apresentacao Boas praticas, revisão java, SOLID, KISS, DRY, design patterns, ...
 
Exemplos de Design Patterns em Java
Exemplos de Design Patterns em JavaExemplos de Design Patterns em Java
Exemplos de Design Patterns em Java
 
Sap – stablility and abstract principle
Sap – stablility and abstract principleSap – stablility and abstract principle
Sap – stablility and abstract principle
 
Akka programação concorrente
Akka   programação concorrenteAkka   programação concorrente
Akka programação concorrente
 
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
 
Observable Binding Para Atualização na UI Android
Observable Binding Para Atualização na UI AndroidObservable Binding Para Atualização na UI Android
Observable Binding Para Atualização na UI Android
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Intro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserverIntro padroesprojetoadaptertemplateobserver
Intro padroesprojetoadaptertemplateobserver
 
Módulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresMódulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de Computadores
 

Mais de Jonathan de Britto Sedrez (15)

Typescript 4.1
Typescript 4.1Typescript 4.1
Typescript 4.1
 
Socket.io
Socket.ioSocket.io
Socket.io
 
RSocket
RSocketRSocket
RSocket
 
Rambda
RambdaRambda
Rambda
 
PWA
PWAPWA
PWA
 
OTA updates
OTA updatesOTA updates
OTA updates
 
OKRs
OKRsOKRs
OKRs
 
Jasmine
Jasmine Jasmine
Jasmine
 
Facebook flux
Facebook fluxFacebook flux
Facebook flux
 
Event bubbling
Event bubblingEvent bubbling
Event bubbling
 
Es2020
Es2020Es2020
Es2020
 
Enzyme js
Enzyme jsEnzyme js
Enzyme js
 
Cypress
CypressCypress
Cypress
 
Chart css
Chart cssChart css
Chart css
 
Bff patterns
Bff patternsBff patterns
Bff patterns
 

Intro ES6