O básico do ECMA cript 6

Documentos relacionados
Migrando do para o. um e-book produzido por: CodePrestige

GRADUAÇÃO EM ANÁLISE E DESENVOLVIMENTO PARADIGMAS DE PROGRAMAÇÃO: REACT NATIVE Aula 01: Conceitos Básicos JavaScript (ES6)

CONTEÚDO PROGRAMÁTICO

Criando aplicativos sem programar com o

Loiane Groner. Novatec

OO - Orientação a Objetos

Conceitos de Linguagem de Programação - 2

Conteúdo Programático JavaScript Web Developer

Desenvolvido por: Juarez A. Muylaert Filho - Andréa T. Medeiros - Adriana S. Spallanzani -

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

Linguagem de Programação II Implementação

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

Conteúdo Programático JavaScript Web Developer

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

Capítulo 9. Subprogramas

Polimorfismo. O que é polimorfismo?

Sumário. 1.1 Variáveis Globais e Locais Passagem de Parâmetro (por valor por referência) 1

Como validar essa informação? A resposta é simples, através de expressões regulares.

Paradigmas de Linguagens de Programação. Subprogramas

Variáveis primitivas e Controle de fluxo

Aula 11: Modularização

Python para quem sabe Python

Classes e Objetos. Sintaxe de classe em Java

Java Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático

Introdução à Programação em C. Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI

Linguagem de Programação

Programação Orientada a Objetos para Redes de Computadores

JavaScript (Elementos de Programação e Programação Básica)

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Introdução ao Javascript

Desenvolvimento Web II

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Algoritmo e Programação Matemática

Laboratório de programação II

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu. Introdução ao Javascript #1

Noções de algoritmos - Aula 1

Questões de Paradigmas de Programação Matéria: Prova 1 4ª EDIÇÃO

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções

Laboratório de Programação II

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Lógica de Programação I. Gilson de Souza Carvalho

INE5416 Paradigmas de Programação. Ricardo Azambuja Silveira INE CTC UFSC E Mail: URL:

Baixar curso de html5 e css3. Baixar curso de html5 e css3.zip

Fundamentos de Programação em Python

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

Conceitos de Linguagens de Programação - Características. Paavo Soeiro

Atributos e Métodos Estáticos

C A P I T U L O 2 S I N T A X E B Á S I C A - V A R I Á V E I S E C O N S T A N T E S E M P H P

Programação Orientada a Objetos

Programação Estruturada e Orientada a Objetos. Objetos e Métodos

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados

Programação: Vetores

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

DAS5102 Fundamentos da Estrutura da Informação

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

JAVA. Professor: Bruno Toledo

UNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos

JAVASCRIPT DE QUALIDADE HOJE, AMANHÃ E SEMPRE GUILHERME CARREIRO THIAGO OLIVEIRA

Linguagem de Programação Introdução a Orientação a Objetos

#include <stdio.h> main() { int i; // Cabeçalho for (i = 1; i <=20; i++) putchar( * ); putchar( \n ); puts( Numeros entre 1 e 5 );

Uma Questão de Estilo Elementos de Estilo Java

Resumindo As estruturas de repetição são utilizadas quando necessitamos realizar comandos diversas vezes

Algoritmos e Programação

Minicurso de JavaScript PET Sistemas de Informação Terceiro Dia Anthony Tailer. Clécio Santos. Rhauani Fazul.

Programação C/C++ Slide 5 Nielsen Castelo Damasceno

Aula 17 Introdução ao jquery

Transcrição:

O básico do ECMA cript 6 produzido por:

Agradecimentos Seja muito bem-vindo! Há muitos e muitos anos que o JavaScript não ganhava melhorias relevantes, mas isso finalmente mudou com a chegada do ES6. Aqui você aprenderá o básico sobre as novidades que chegaram a linguagem e que são fundamentais para o entendimento das melhorias que já estão chegando com a ES7, ES8 e as próximas que virão. Agora, sem mais delongas, boa leitura e bons códigos! Diego Martins de Pinho Cofundador da Code Prestige

Introdução O profissional de tecnologia que deseja se manter relevante no mercado precisa estar antenado às mudanças. Uma das grandes mudanças nos últimos anos foi a chegada da sexta versão da especificação ECMAScript, responsável por descrever as funcionalidades da linguagem JavaScript. Com ela, o JavaScript nunca esteve tão convidativo para iniciantes e confortável de se trabalhar. Aqui você aprenderá o básico sobre as principais mudanças e sairá sabendo quais aspectos deve aprofundar nos estudos. Preparado para entrar de cabeça no futuro do JavaScript?

Sumário Métodos para Arrays Arrow Functions Valores padrões para parâmetros Operadores Rest e Spread Templates Literais Laço de repetição for...of Const e let Desestruturamento de objetos e Arrays Classes Geradores Aprenda mais sobre a ECMAScript 6

Métodos para Arrays Agora temos uma série de métodos auxiliares para iterar Arrays, cada um com um objetivo diferente: for (var i = 0; i < lista.length; i++) { // corpo da lógica que queremos Agora Antes Objetivo iterar todos os registros lista.foreach(function(item) { // corpo ); Objetivo encontrar um registro de acordo com um critério lista.find(function(item) { return // corpo do critério; ); Objetivo iterar todos os registros e fazer algo com eles lista.map(function(item) { return // corpo; ); Objetivo verifica se todos os itens obedecem a um dado critério lista.every(function(item) { return // corpo do critério; ); Objetivo filtrar a lista de acordo com algum critério lista.filter(function(item) { return // corpo do critério; ); Objetivo verifica se pelo menos um item obedece a dado critério lista.some(function(item) { return // corpo do critério; ); - Ensino de programação à distância 01

Arrow Functions Arrow Functions são uma notação para escrever funções. A definição de uma função desse tipo consiste de uma lista de parâmetros (... ), seguido de uma fat arrow (=>) e o corpo da função. Antes Agora var soma = function (a,b) { return a + b; Quando só houver um parâmetro, o uso dos parênteses é desnecessário var soma = (a,b) => a + b; Quando só há uma linha, não é necessário o return nem as chaves! O comportamento das Arrow Functions com o this (contexto de execução) é diferente do das funções normais. Cada função no JavaScript define seu próprio contexto de this, mas as Arrow Functions capturam o this do seu contexto delimitador. Isso evita que façamos gambiarras. - Ensino de programação à distância 02

Valores padrões para parâmetros O ECMAScript 6 agora nos permite atribuir valores padrões aos parâmetros de nossas funções. Antes function multiplicapor(num, multi) { if(multi!== undefined) return num * multi; return num * 2; // valor padrão Agora function multiplicapor(num, multi = 2) { return num * multi; Se na chamada do método nenhum valor for especificado, o valor padrão é assumido! - Ensino de programação à distância 03

Operadores Rest e Spread Agora lidamos com os parâmetros de uma função muito mais tranquilamente utilizando os três pontos (...), que dependendo de sua localização, atua como operador rest ou spread. Rest Ele encapsula todos os parâmetros que recebe dentro de um Array function somatudo(...params) { return params.reduce((soma, param) => { return soma + param;, 0); Spread var lista = [1,2,3,4,5]; somatudo(...lista); // 15 Os itens são interpretados um a um e enviados para o método - Ensino de programação à distância 04

Templates literais Lidamos agora com Strings de maneira muito mais eficiente utilizando os templates literais. Basta utilizarmos a crase (`) e o ${ para interpolar valores! Antes var nome = Luiz ; var sobrenome = Augusto ; console.log( Bom dia, + nome + + sobrenome); // Bom dia, Luiz Augusto Agora var nome = Luiz ; var sobrenome = Augusto ; console.log(`bom dia, ${nome ${sobrenome`); // Bom dia, Luiz Augusto O valor da variável (ou expressão) é interpretado e jogado dentro da String - Ensino de programação à distância 05

Laço de repetição for...of Com este tipo de laço, ficou muito mais fácil iterar objetos que sejam iteráveis: Antes var lista = [1,2,3,4,5]; for(var i = 0; i < lista.length; i++) { console.log(lista[i]); A cada iteração, o item da lista é recuperado e jogado para a variável Agora var lista = [1,2,3,4,5]; for(var numero of lista) { console.log(numero); - Ensino de programação à distância 06

Const e Let Com o ECMAScript 6, não declaramos mais nossas variáveis com o var, agora utilizamos as palavras chave: const e let. Esse novo tipo contém escopo de bloco, ao invés de escopo de função como tínhamos antigamente. let var a = 2; { let a = 3; console.log(a); // 3 console.log(a); // 2 const nome = Luiz ; // vamos tentar alterar nome = Kiko ; // TypeError const Como o escopo é de bloco, as variáveis declaradas neste espaço não são vistas fora Os valores deste tipo de variáveis não podem ser alterados! - Ensino de programação à distância 07

Desestruturamento de objetos e arrays Desestrututamento ajuda a evitar a necessidade de variáveis temporárias quando lidamos com objetos e arrays. Considerando... var livro = { titulo: ECMAScript 6, autor: Diego Pinho, editora: Casa do Código, ISBN: 128301212 Antes var titulo = livro.titulo; var autor = livro.autor; Agora let {titulo,autor = livro; As propriedades com estes nomes são extraídas e variáveis locais com o mesmo nome é criada - Ensino de programação à distância 08

Classes A herança por prototipagem sempre foi bem confuso de entender, mas agora o JavaScript tem suporte à classes assim como já conhecemos em outras linguagens de programação. As classes são sintaxe de açúcar, ou seja, por debaixo dos panos, tudo continua como antes, mas temos um nova abstração de alto nível para trabalhar. class Fiat extends Carro { constructor(cor, modelo) { super(cor,modelo); andar() { console.log( vrum vrum ); Temos os métodos estáticos que podem ser invocados sem a necessidade de instanciar a classe! static mostrarmodelo() { console.log(this.modelo); - Ensino de programação à distância 09

Geradores Funções geradoras são um novo tipo de função que nos permite gerar quantos valores forem necessários, ou seja, podemos executá-la, interromper a sua execução, e retomá-la. O asterisco descreve uma função como geradora function* percorrerlinha477() { console.log('passei pela rua 1'); yield 'Parada 1'; console.log('passei pela rua 2'); yield 'Parada 2'; console.log('passei pela rua 3'); yield 'Parada 3'; console.log('passei pela rua 4'); yield 'Fim da linha'; const linha = percorrerlinha477(); for (let parada of linha) { console.log(parada); O yield é a palavra chave que define o ponto de parada da função Passei pela rua 1 Parada 1 Passei pela rua 2 Parada 2 Passei pela rua 3 Parada 3 Passei pela rua 4 Fim da linha - Ensino de programação à distância 10

Aprenda mais sobre o ECMAScript 6! Gostou das novidades? E olha que isso é só o começo! Confira o nosso livro e o nosso curso para aprender com detalhes como funcionam essas melhorias e entre de cabeça no futuro do JavaScript! Somente no livro/curso: Fundamentação teórica Aplicação em casos reais do dia a dia do desenvolvedor Exercícios práticos e teóricos para fixação Maps, WeakMaps, Set e Weaksets Iteradores e iteráveis Melhorias em objetos literais Modularização Operações assíncronas com Promises Metaprogramação com proxies E muito mais! Clique e compre! R$ 30,00 Clique e compre! R$ 30,00 - Ensino de programação à distância 11

/ Confira outros e-books, vídeos e cursos nas nossas redes sociais! E-book produzido em 04/09/2017. 2017 Code. Todos os direitos reservados. - Ensino de programação à distância 12