SlideShare uma empresa Scribd logo
1 de 41
Java Script para adultos
Diego Rafael Perin Honório
Front-end Developer
G4 SOLUTIONS
Ecma Script
• European Computer Manufacturers Association
• ECMA Script
• ECMA Internacional
• Base doJavascript
Aprimoramentos ES6
• Variable Declaration
• Block Scope
• DestructuringAssignment
• Enhanced parameters
• Template String
• Arrow Function
• Proxy
VARIABLE DECLARTION
var a = 0;
let b = 0;
if (true) {
console.log(a);
console.log(b);
var a = 1;
let b = 1;
console.log(a);
console.log(b);
}
console.log(a);
console.log(b);
var a = 0;
let b = 0;
if (true) {
console.log(a); // 0
console.log(b); // undefined
var a = 1;
let b = 1;
console.log(a);
console.log(b);
}
console.log(a);
console.log(b);
var a = 0;
let b = 0;
if (true) {
console.log(a); // 0
console.log(b); // undefined
var a = 1;
let b = 1;
console.log(a); // 1
console.log(b); // 1
}
console.log(a);
console.log(b);
var a = 0;
let b = 0;
if (true) {
console.log(a); // 0
console.log(b); // undefined
var a = 1;
let b = 1;
console.log(a); // 1
console.log(b); // 1
}
console.log(a); // 1
console.log(b); // 0
BLOCK SCOPE
for(var i = 0; i < 3; i++){
var x = i + i;
console.log(x);
}
console.log(x); // 4
for(var i = 0; i < 3; i++){
let x = i + i;
console.log(x);
}
console.log(x); // Error
DESTRUCTING
ASSIGNMENT
obj = { first:'a',second:'b',third:'c'};
var x = obj.first;
var y = obj.second;
var z = obj.third;
Destructuring Assignment
var {x,y,z} = { first:'a',second:'b',third:'c'};
// x = 'a', y = 'b', z = 'c‘
var {x,y,z} = ['a','b','c'];
// x = 'a', y = 'b', z = 'c‘
ENHANCED
PARAMETERS
Default Params
function say(name) {
name = name || 'Anonymous';
return ‘Olá, ' + name + '!';
}
console.log(say()); // Olá, Anonymous!
console.log(say(‘Diego')); // Olá, Diego!
function say(name = 'Anonymous') {
return ‘Olá, ' + name + '!';
}
console.log(say()); // Olá, Anonymous!
console.log(say('Diego')); // Olá, Diego!
Rest Parameter
function f(a, b){
console.log(args);
var args =
Array.prototype.slice.call(arguments, f.length);
console.log(args);
}
f(1,2,3,4,5);
//[1,2,3,4,5];
//[3,4,5];
function(a, b, ...args) {
console.log(args);
}
//[3,4,5];
function ordernarArgumentos() {
var ordenados = arguments.sort();
return ordenados;
}
console.log(ordernarArgumentos(5,3,7,1));
// Error arguments.sort is not a function
// Arguments não é um objeto array, embora pareça
Shorthand Assignment
var arr1 = [0, 1];
var arr2 = [2, 3];
for(var i=0; i < arr2.length; i++){
arr1.push(arr2[i]);
}
//arr1 = [0,1,2,3]
var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
var union = [arr1, arr2]; //[0,1,2,3,4,5]
arr1.push(...arr2); //[0,1,2,3,4,5]
let x = 5;
let y = 20;
let coordinates = {
x,
y,
z: 10,
};
console.log(coordinates); // { x: 5, y: 20, z: 10 }
TEMPLATE STRING
let firstName = 'Diego';
let lastName = 'Honório';
let greeting = 'Hi, my name is ' + firstName + ' ' +
lastName + '.';
let firstName = ‘Diego';
let lastName = ‘Honório';
let greeting = `Hi, my name is ${firstName} ${lastName}.`;
ARROW FUNCTION
var namesList = ['Diego', 'Rafael', 'Perin', 'Honório'];
var names = namesList.filter(function (number) {
return name.length <= 5;
});
console.log(names); // ['Diego', 'Rafael', 'Perin']
let namesList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let names = namesList.filter(name => name.length <= 5);
console.log(names); // ['Diego', 'Rafael', 'Perin']
PROXY
var employee = { name: 'Joe Sixpack', salary: 50 };
var interceptor = {
set: function (receiver, property, value) {
console.log(property, 'is changed to', value);
receiver[property] = value;
}
};
employee = Proxy(employee, interceptor);
employee.salary = 300;
//salary is changed to 300
CLASS
class Pessoa {
constructor(nome, email) {
this.nome = nome;
this.comidas = [];
// verifica se o e-mail foi preenchido
if (email) {
this.email = email;
}
}
fala() {
console.log("Olá, meu nome é "+this.nome+" e meu email é
"+this.email);
}
get primeiroNome() {
return this.nome.split(" ")[0];
}
set gostaDe(comida) {
this.comidas.push(comida);
}
}
HERANÇA
class PessoaFisica extends Pessoa{
constructor(nome, email, cpf){
super(nome, email);
this.cpf = cpf;
}
dizCpf(){
console.log(this.cpf);
}
}
Perguntas?
Diego.honorio91@gmail.com

Mais conteúdo relacionado

Mais procurados

Curso Java #01 - Introdução
Curso Java #01 - IntroduçãoCurso Java #01 - Introdução
Curso Java #01 - IntroduçãoRenato Sousa
 
Programacao orientada-a-objetos-java
Programacao orientada-a-objetos-javaProgramacao orientada-a-objetos-java
Programacao orientada-a-objetos-javaRenato Sousa
 
Cartao referencia ccs
Cartao referencia ccsCartao referencia ccs
Cartao referencia ccsLuciano Zica
 
A Classe StringBuilder em Java
A Classe StringBuilder em JavaA Classe StringBuilder em Java
A Classe StringBuilder em JavaDevmedia
 
Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Alamo Saravali
 
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais) [Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais) Loiane Groner
 
Vetores, Matrizes e Strings em C Parte 3
Vetores, Matrizes e Strings em C Parte 3Vetores, Matrizes e Strings em C Parte 3
Vetores, Matrizes e Strings em C Parte 3Elaine Cecília Gatto
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Saulo Arruda
 
Controle de Fluxo, Exceções, Assertivas
Controle de Fluxo, Exceções, AssertivasControle de Fluxo, Exceções, Assertivas
Controle de Fluxo, Exceções, AssertivasElenilson Vieira
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1Elaine Cecília Gatto
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Karoline Tavares
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECLW3P Projetos Web
 
Programação Estruturada 2 - Aula 05
Programação Estruturada 2 - Aula 05Programação Estruturada 2 - Aula 05
Programação Estruturada 2 - Aula 05thomasdacosta
 
Javascript The good, bad and ugly parts
Javascript The good, bad and ugly partsJavascript The good, bad and ugly parts
Javascript The good, bad and ugly partsFabian Carlos
 

Mais procurados (20)

Linguagem C 09 Ponteiros
Linguagem C 09 PonteirosLinguagem C 09 Ponteiros
Linguagem C 09 Ponteiros
 
Curso Java #01 - Introdução
Curso Java #01 - IntroduçãoCurso Java #01 - Introdução
Curso Java #01 - Introdução
 
Programacao orientada-a-objetos-java
Programacao orientada-a-objetos-javaProgramacao orientada-a-objetos-java
Programacao orientada-a-objetos-java
 
Cartao referencia ccs
Cartao referencia ccsCartao referencia ccs
Cartao referencia ccs
 
Simulador Funcional
Simulador FuncionalSimulador Funcional
Simulador Funcional
 
A Classe StringBuilder em Java
A Classe StringBuilder em JavaA Classe StringBuilder em Java
A Classe StringBuilder em Java
 
Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Aprendendo objective c - parte 1
Aprendendo objective c - parte 1
 
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais) [Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
 
Vetores, Matrizes e Strings em C Parte 3
Vetores, Matrizes e Strings em C Parte 3Vetores, Matrizes e Strings em C Parte 3
Vetores, Matrizes e Strings em C Parte 3
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
 
Controle de Fluxo, Exceções, Assertivas
Controle de Fluxo, Exceções, AssertivasControle de Fluxo, Exceções, Assertivas
Controle de Fluxo, Exceções, Assertivas
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECL
 
Pilha em C
Pilha em CPilha em C
Pilha em C
 
Programação Estruturada 2 - Aula 05
Programação Estruturada 2 - Aula 05Programação Estruturada 2 - Aula 05
Programação Estruturada 2 - Aula 05
 
Pilhas e Filas
Pilhas e FilasPilhas e Filas
Pilhas e Filas
 
Javascript The good, bad and ugly parts
Javascript The good, bad and ugly partsJavascript The good, bad and ugly parts
Javascript The good, bad and ugly parts
 

Destaque

Análisis video de problematización.docx 08 09 16 félix arias
Análisis video de problematización.docx 08 09 16 félix ariasAnálisis video de problematización.docx 08 09 16 félix arias
Análisis video de problematización.docx 08 09 16 félix ariasFarias280275
 
4 - 2016-03-23 - Agromen - Milho - Faz. Santa Fe - Pivo 1 - A4
4 - 2016-03-23 - Agromen - Milho - Faz. Santa Fe - Pivo 1 - A44 - 2016-03-23 - Agromen - Milho - Faz. Santa Fe - Pivo 1 - A4
4 - 2016-03-23 - Agromen - Milho - Faz. Santa Fe - Pivo 1 - A4Juan Carlos Castaneda
 
Это интересно!
Это интересно!Это интересно!
Это интересно!Yanina
 
2015 deep research report on global digital radiology industry
2015 deep research report on global digital radiology industry2015 deep research report on global digital radiology industry
2015 deep research report on global digital radiology industryResearch Hub
 
สรรพคุณเภสัช
สรรพคุณเภสัชสรรพคุณเภสัช
สรรพคุณเภสัชNop Pirom
 
College Transcrips (5)
College Transcrips (5)College Transcrips (5)
College Transcrips (5)Mark Derby
 
2nd Annual Congress Discovery Partnerships 2011
2nd Annual Congress Discovery Partnerships 20112nd Annual Congress Discovery Partnerships 2011
2nd Annual Congress Discovery Partnerships 2011Torben Haagh
 
CFO Asia Summit 2015 Delegate Pack
CFO Asia Summit 2015 Delegate PackCFO Asia Summit 2015 Delegate Pack
CFO Asia Summit 2015 Delegate PackShreetej Mhatre
 
Lose Weight Fast
Lose Weight Fast Lose Weight Fast
Lose Weight Fast services777
 
Handleiding Improvement Academy | Wat is de filosofie, wat is de opbouw, wat ...
Handleiding Improvement Academy | Wat is de filosofie, wat is de opbouw, wat ...Handleiding Improvement Academy | Wat is de filosofie, wat is de opbouw, wat ...
Handleiding Improvement Academy | Wat is de filosofie, wat is de opbouw, wat ...Evelien Verkade
 

Destaque (15)

Análisis video de problematización.docx 08 09 16 félix arias
Análisis video de problematización.docx 08 09 16 félix ariasAnálisis video de problematización.docx 08 09 16 félix arias
Análisis video de problematización.docx 08 09 16 félix arias
 
Taller practico 10 (vivencia) claudia
Taller practico 10 (vivencia) claudiaTaller practico 10 (vivencia) claudia
Taller practico 10 (vivencia) claudia
 
TALLERES CON MACROS
TALLERES CON MACROSTALLERES CON MACROS
TALLERES CON MACROS
 
4 - 2016-03-23 - Agromen - Milho - Faz. Santa Fe - Pivo 1 - A4
4 - 2016-03-23 - Agromen - Milho - Faz. Santa Fe - Pivo 1 - A44 - 2016-03-23 - Agromen - Milho - Faz. Santa Fe - Pivo 1 - A4
4 - 2016-03-23 - Agromen - Milho - Faz. Santa Fe - Pivo 1 - A4
 
Это интересно!
Это интересно!Это интересно!
Это интересно!
 
2015 deep research report on global digital radiology industry
2015 deep research report on global digital radiology industry2015 deep research report on global digital radiology industry
2015 deep research report on global digital radiology industry
 
2431 4424-1-sm
2431 4424-1-sm2431 4424-1-sm
2431 4424-1-sm
 
สรรพคุณเภสัช
สรรพคุณเภสัชสรรพคุณเภสัช
สรรพคุณเภสัช
 
College Transcrips (5)
College Transcrips (5)College Transcrips (5)
College Transcrips (5)
 
2nd Annual Congress Discovery Partnerships 2011
2nd Annual Congress Discovery Partnerships 20112nd Annual Congress Discovery Partnerships 2011
2nd Annual Congress Discovery Partnerships 2011
 
CFO Asia Summit 2015 Delegate Pack
CFO Asia Summit 2015 Delegate PackCFO Asia Summit 2015 Delegate Pack
CFO Asia Summit 2015 Delegate Pack
 
Seit
SeitSeit
Seit
 
Lose Weight Fast
Lose Weight Fast Lose Weight Fast
Lose Weight Fast
 
Handleiding Improvement Academy | Wat is de filosofie, wat is de opbouw, wat ...
Handleiding Improvement Academy | Wat is de filosofie, wat is de opbouw, wat ...Handleiding Improvement Academy | Wat is de filosofie, wat is de opbouw, wat ...
Handleiding Improvement Academy | Wat is de filosofie, wat is de opbouw, wat ...
 
Navidad 2010
Navidad 2010Navidad 2010
Navidad 2010
 

Semelhante a Java script para adultos

Semelhante a Java script para adultos (20)

TDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.JsTDC2016SP - Trilha Node.Js
TDC2016SP - Trilha Node.Js
 
LabMM3 - Aula teórica 09
LabMM3 - Aula teórica 09LabMM3 - Aula teórica 09
LabMM3 - Aula teórica 09
 
Tutorial JavaFX simples
Tutorial JavaFX simplesTutorial JavaFX simples
Tutorial JavaFX simples
 
Java script aula 04 - objeto array
Java script   aula 04 - objeto arrayJava script   aula 04 - objeto array
Java script aula 04 - objeto array
 
Javascript para CSharpers 1 - Comparando
Javascript para CSharpers   1 - ComparandoJavascript para CSharpers   1 - Comparando
Javascript para CSharpers 1 - Comparando
 
Java script aula 02 - operadores
Java script   aula 02 - operadoresJava script   aula 02 - operadores
Java script aula 02 - operadores
 
Shell script
Shell scriptShell script
Shell script
 
PHP 7
PHP 7PHP 7
PHP 7
 
PHP Experience 2016 - [Palestra] Keynote: PHP-7
PHP Experience 2016 - [Palestra] Keynote: PHP-7PHP Experience 2016 - [Palestra] Keynote: PHP-7
PHP Experience 2016 - [Palestra] Keynote: PHP-7
 
Principais novidades do PHP7
Principais novidades do PHP7Principais novidades do PHP7
Principais novidades do PHP7
 
O que é que o Java não tem?
O que é que o Java não tem?O que é que o Java não tem?
O que é que o Java não tem?
 
(A11) LabMM3 - JavaScript - Subalgoritmos e scope
(A11) LabMM3 - JavaScript - Subalgoritmos e scope(A11) LabMM3 - JavaScript - Subalgoritmos e scope
(A11) LabMM3 - JavaScript - Subalgoritmos e scope
 
JavaScript - A Linguagem
JavaScript - A LinguagemJavaScript - A Linguagem
JavaScript - A Linguagem
 
Apresentando o EcmaScript 6
Apresentando o EcmaScript 6Apresentando o EcmaScript 6
Apresentando o EcmaScript 6
 
Javascript
JavascriptJavascript
Javascript
 
javascript_funcional.pdf
javascript_funcional.pdfjavascript_funcional.pdf
javascript_funcional.pdf
 
iOS 8 com swift
iOS 8 com swiftiOS 8 com swift
iOS 8 com swift
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
tmn - Introdução ao JavaScript
tmn - Introdução ao JavaScripttmn - Introdução ao JavaScript
tmn - Introdução ao JavaScript
 
Javascript basics
Javascript basicsJavascript basics
Javascript basics
 

Java script para adultos

  • 2. Diego Rafael Perin Honório Front-end Developer
  • 4. Ecma Script • European Computer Manufacturers Association • ECMA Script • ECMA Internacional • Base doJavascript
  • 5. Aprimoramentos ES6 • Variable Declaration • Block Scope • DestructuringAssignment • Enhanced parameters • Template String • Arrow Function • Proxy
  • 7. var a = 0; let b = 0; if (true) { console.log(a); console.log(b); var a = 1; let b = 1; console.log(a); console.log(b); } console.log(a); console.log(b);
  • 8. var a = 0; let b = 0; if (true) { console.log(a); // 0 console.log(b); // undefined var a = 1; let b = 1; console.log(a); console.log(b); } console.log(a); console.log(b);
  • 9. var a = 0; let b = 0; if (true) { console.log(a); // 0 console.log(b); // undefined var a = 1; let b = 1; console.log(a); // 1 console.log(b); // 1 } console.log(a); console.log(b);
  • 10. var a = 0; let b = 0; if (true) { console.log(a); // 0 console.log(b); // undefined var a = 1; let b = 1; console.log(a); // 1 console.log(b); // 1 } console.log(a); // 1 console.log(b); // 0
  • 12. for(var i = 0; i < 3; i++){ var x = i + i; console.log(x); } console.log(x); // 4
  • 13. for(var i = 0; i < 3; i++){ let x = i + i; console.log(x); } console.log(x); // Error
  • 15. obj = { first:'a',second:'b',third:'c'}; var x = obj.first; var y = obj.second; var z = obj.third;
  • 16. Destructuring Assignment var {x,y,z} = { first:'a',second:'b',third:'c'}; // x = 'a', y = 'b', z = 'c‘ var {x,y,z} = ['a','b','c']; // x = 'a', y = 'b', z = 'c‘
  • 19. function say(name) { name = name || 'Anonymous'; return ‘Olá, ' + name + '!'; } console.log(say()); // Olá, Anonymous! console.log(say(‘Diego')); // Olá, Diego!
  • 20. function say(name = 'Anonymous') { return ‘Olá, ' + name + '!'; } console.log(say()); // Olá, Anonymous! console.log(say('Diego')); // Olá, Diego!
  • 22. function f(a, b){ console.log(args); var args = Array.prototype.slice.call(arguments, f.length); console.log(args); } f(1,2,3,4,5); //[1,2,3,4,5]; //[3,4,5];
  • 23. function(a, b, ...args) { console.log(args); } //[3,4,5];
  • 24. function ordernarArgumentos() { var ordenados = arguments.sort(); return ordenados; } console.log(ordernarArgumentos(5,3,7,1)); // Error arguments.sort is not a function // Arguments não é um objeto array, embora pareça
  • 26. var arr1 = [0, 1]; var arr2 = [2, 3]; for(var i=0; i < arr2.length; i++){ arr1.push(arr2[i]); } //arr1 = [0,1,2,3]
  • 27. var arr1 = [0, 1, 2]; var arr2 = [3, 4, 5]; var union = [arr1, arr2]; //[0,1,2,3,4,5] arr1.push(...arr2); //[0,1,2,3,4,5]
  • 28. let x = 5; let y = 20; let coordinates = { x, y, z: 10, }; console.log(coordinates); // { x: 5, y: 20, z: 10 }
  • 30. let firstName = 'Diego'; let lastName = 'Honório'; let greeting = 'Hi, my name is ' + firstName + ' ' + lastName + '.';
  • 31. let firstName = ‘Diego'; let lastName = ‘Honório'; let greeting = `Hi, my name is ${firstName} ${lastName}.`;
  • 33. var namesList = ['Diego', 'Rafael', 'Perin', 'Honório']; var names = namesList.filter(function (number) { return name.length <= 5; }); console.log(names); // ['Diego', 'Rafael', 'Perin']
  • 34. let namesList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; let names = namesList.filter(name => name.length <= 5); console.log(names); // ['Diego', 'Rafael', 'Perin']
  • 35. PROXY
  • 36. var employee = { name: 'Joe Sixpack', salary: 50 }; var interceptor = { set: function (receiver, property, value) { console.log(property, 'is changed to', value); receiver[property] = value; } }; employee = Proxy(employee, interceptor); employee.salary = 300; //salary is changed to 300
  • 37. CLASS
  • 38. class Pessoa { constructor(nome, email) { this.nome = nome; this.comidas = []; // verifica se o e-mail foi preenchido if (email) { this.email = email; } } fala() { console.log("Olá, meu nome é "+this.nome+" e meu email é "+this.email); } get primeiroNome() { return this.nome.split(" ")[0]; } set gostaDe(comida) { this.comidas.push(comida); } }
  • 40. class PessoaFisica extends Pessoa{ constructor(nome, email, cpf){ super(nome, email); this.cpf = cpf; } dizCpf(){ console.log(this.cpf); } }