phoenixproject / htmljavascript

Rotinas básicas atualizadas acerca de HTML e Java Script

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Exemplos básicos de uso de HTML e Java Script

Referências:

Tópicos:

1º tópico - HTML Storage

2º tópico - Recursos de atualizações do Java Script contidos nas versões ES6, ES7, ES8

3º tópico - Programação Assíncrona - Promisses Async/Await

01 - Exemplo Java script trabalhando uso de atribuições em escopos distintos

  • (const) Declaração de constante em Java Script (constantes devem obrigatoriamente serem declaradas já recebendo um valor)
	const minha_constante = "Esse valor não poderá ser alterado 
	e novas atribuições não serão aceitas.";
  • (var) Declaração de variáveis em Java Script (funciona no escopo Global e Local)
	var minha_variavel = "Teste de valor para a variável.";
  • (let) Declaração de variável let (tem escopo Global, Local e em Bloco)
	const minha_constante = "Esse valor não poderá ser alterado 
	e novas atribuições não serão aceitas.";

Características de variáveis do tipo let e var que tem diferença em escopo que possuem:

Definições de bloco:

  • Bloco é tudo que está em chaves ( { } ), exemplos de Bloco:
	var valorreferencia = 4;

	// Bloco 1
	{
		var valor1 = 1;
	}
	
	// Bloco 2	
	while(valorreferencia < 8)
	{
		var valor2 = 1;
	}
	
	// Bloco 3	
	for(var indice = 0; indice < valorreferencia; indice++)
	{
		var valor3 = 1;
	}
	
	// Bloco 4
	if(valorreferencia == 5)
	{
		var valor4 = 1;
	}
  • Declarações de variáveis do tipo let e do tipo var com seus determinados escopos.
	// Escopo Global
	var valorreferencia = 4; 
	let valorreferencialet = 6;

	// Escopo Local
	function funcaoTestar()
	{
		var nome = "João";
		let sobrenome = "Pena";
		console.log("Testando aqui o valor de " + nome + " " + sobrenome + "
		: " +  valorreferencia);
	}

	// Escopo em Bloco
	// Bloco 1
	{
		var valor1v = 1;
		let valor1l = 3;
	}

	// Bloco 2	
	while(valorreferencia > 8)
	{
		var valor1v = 1;
		let valor1l = 4;
	}

	// Bloco 3	
	for(var indice = 0; indice < valorreferencia; indice++)
	{
		var valor3v = 78;
		let valor3l = 99;
	}

	// Bloco 4
	if(valorreferencia == 5)
	{
		var valor4v = 1;
		let valor4l = 1;
	}

	// Exibindo valor de escopo Global
	console.log(valorreferencia); // Funciona porque var respeita o escopo Global.
	console.log(valorreferencialet); // Funciona porque var respeita o escopo Global.

	// Exibindo valor de escopo Local
	// console.log(nome); // Erro! Porque var respeita o escopo Local.
	// console.log(sobrenome); // Erro! Porque let respeita o escopo Local.

	// Exibindo valor de escopo em Bloco
	console.log(valor3v); // Funciona porque var NÃO respeita o escopo em Bloco!
	console.log(valor3l); // Erro! Porque let respeita o escopo em Bloco!	

02 - Exemplo de Java script utilizando parâmetros opcionais

  • O parâmetro opcional já recebe atribuição de valor na assinatura do método e caso seja omitido na chamada da função assume seu valor.
	function soma(a,b = 50)
	{        
		console.log(a + b);
	}

	function sub(a,b,inverter = false)
	{
		if(inverter)
		{
			console.log(a-b);
		}
		else{
			console.log(b-a);
		}
	}

	// Como podem ser chamadas as funções 
	console.log(soma(4,2));
	console.log(soma(10));

	console.log(sub(5,3,true));
	console.log(sub(20,80));

03 - Exemplo de novo recurso de montagem de JSON em Java Script

  • O JSON comumente era montado como na forma que segue.
	var nome = "João";
	var idade = 54;
	var empresa = "Empresa X";
	
	var usuario = {
		nome: nome,
		idade: idade,
		empresa: empresa
	};
	
	console.log(usuario);
  • Agora é possível passar o JSON para uma forma reduzida que somente é preciso colocar o nome do campo quando você já tem uma variável, pois o Java Script lê o nome dessa variável (usuario) e cria os campos dela para você. Lembrando que este recurso só funciona com campos que contenham variáveis do tipo const, var e let.
	var nome = "João";
	var idade = 54;
	var empresa = "Empresa X";
	
	var usuario = {
		nome,
		idade,
		empresa
	};
	
	console.log(usuario);

04 - Operador de Spread

  • Sem o operador Spread para exibir um JSON/array era preciso fazer da seguinte forma:
	var nome = "João";
	var idade = 54;
	
	var empresa = {
		nome: "Empresa Y",
		cidade: "Rio de Janeiro",
		site: "rj.gov.br",
		email: "cidade@rj.gov.br"
	};
	
	var usuario = {
		nome,
		idade,
		empresa: empresa.nome,
		cidade: empresa.cidade,
		site: empresa.site,
		email: empresa.email
	};
	
	console.log(usuario);
  • Contudo com o operador Spread (representado por ...) é possível apenas utilizá-lo e colocar o nome do objeto que deseja exibir as informações.
	var nome = "João";
	var idade = 54;
	
	var empresa = {
		nome: "Empresa Y",
		cidade: "Rio de Janeiro",
		site: "rj.gov.br",
		email: "cidade@rj.gov.br"
	};
	
	var usuario = {
		nome,
		idade,
		...empresa
	};
	
	console.log(usuario);

05 - Destructuring (desestruturação)

  • Permite que sejam recuperados campos dentro de um JSON e criar variáveis a partir desses campos.
    var usuario = {
        nome: "Lady D",
        idade: "42",
        empresa: "Tux Corporation",
        endereco: "Avenida Boulevard"
    };

    // Recurso usando destructuring
    let { nome } = usuario;
    
	// Recurso sem utilizar destructuring (forma comum)
    let nome2 = usuario.nome;

    // Recurso usando destructuring com múltiplos campos
    let { idade, empresa, endereco } = usuario;
    
    console.log(nome);
	console.log(nome2);
    console.log(idade);
    console.log(empresa);
    console.log(endereco);    

O recurso de desestruturação permite que um campo de um objeto torne-se uma variável ou melhor, seja extraído de lá assim:

    var usuario = {
        nome: "Lady D",
        idade: "42",
        empresa: "Tux Corporation",
        endereco: "Avenida Boulevard"
    };
    
    let { nome } = usuario;
    
    console.log(nome);

Sem que precise utilizar a forma comum e tradicional.

    var usuario = {
        nome: "Lady D",
        idade: "42",
        empresa: "Tux Corporation",
        endereco: "Avenida Boulevard"
    };
	
    let nome = usuario.nome;

    console.log(nome);

06 - Arrow Functions

  • Permite redução na nomenclatura de funções.
    // Forma comum de declaração de função
    function soma(a,b){
        return a + b;
    }

    // Forma também convencional de declarar funções
    let mult1 = function(a,b){
        return a * b;
    };
    
    /* Arrow Functions só podem ser utilizadas em duas ocasições: 
     * - Trabalhando com callbacks;
     * - Salvando a função dentro de uma variável
     * */
    
    // Forma com arrow function para Callback
    (a,b,c) => {
        console.log(a * b * c);
    };
    
    // Forma com arrow function salvando numa variável (forma reduzida)
    let mult2 = (a,b,c) => {
        console.log(a * b * c);
    };
    
    // Forma com arrow function como parâmetro sem parênteses 
    // (apenas se houver somente UMA variável)
    let mult3 = a => {
        console.log(a * 4);
    };
    
    // Forma com arrow function (se ela só tiver APENAS UMA linha de código)     
    let mult4 = a => console.log(a * 4);
    
    // Forma com arrow function omitindo o retorno (return) 
    // (somente se ela só tiver APENAS UMA linha de código)     
    let mult5 = (a,b,c) => a * b * c;
       
    let resultado1 = soma(3,5);
    let resultado2 = mult1(7,2);
    let resultado3 = mult2(5,2,1);
    let resultado4 = mult3(6);
    let resultado5 = mult4(8);
    let resultado6 = mult5(8,5,2);
    
    console.log(resultado1);
    console.log(resultado2);
    console.log(resultado3);
    console.log(resultado4);
    console.log(resultado5);
    console.log(resultado6);    

07 - Busca em Arrays

  • Permite fazer busca usando arrow functions dentro de arrays.
    var jonas = {
		nome : "Jonas Bloch",
		empresa: "TV Manchete"
	};

	var david = {
		nome : "David",
		empresa : "Umbler"
	};

	var erik = {
		nome : "Erik Fig",
		empresa : "Udemy"
	};

	var users = [jonas, david, erik];

	var usuario = users.find(user => user.nome === "Jonas Bloch");

	console.log(usuario);

08 - Interpolação de Conteúdo dentro de um String

  • Permite interpolar valores dentro de uma String sem usar concatenação e o pré requisito nesses caso é usar a "crase" na frase.
	var nome = "Jonas Bloch";
	var sobre = "Fundador da TV Manchete";

	var frase = `Olá meu nome é ${nome} e eu sou ${sobre}`;

	console.log(frase);

09 - Programação Assíncrona

  • Progrmação Síncrona é aquela se tem ordem para ser executada, ou seja, uma ação definida será executada extamente na ordem definida, explicando ainda melhor a próxima linha de código só será executada.
	

About

Rotinas básicas atualizadas acerca de HTML e Java Script


Languages

Language:JavaScript 58.2%Language:PHP 24.7%Language:Hack 14.4%Language:HTML 1.6%Language:CSS 1.0%