Introdução a ES6

Introdução a ES6

ES6, ECMAScript 6 ou ES2015, é simplesmente a mais nova versão do JavaScript.

Uma dúvida bem comum é o porquê dessa mudança do nome. Na verdade não houve nenhuma mudança: JavaScript é como nós chamamos a linguagem, só que esse nome é um trademark da Oracle (que veio após a compra da Sun). O nome oficial da linguagem é ECMAScript. E ES é simplesmente uma abreviação do mesmo.

Variáveis var, let e const

O escopo do bloco restringe o acesso de uma variável ao bloco no qual ela é declarada. A palavra-chave var atribui um escopo de função à variável. Ao contrário da palavra-chave var, a palavra-chave let permite que o script restrinja o acesso à variável ao bloco delimitador mais próximo.

JavaScript é uma linguagem tipificação dinâmica. Isso significa que uma variável JavaScript pode conter um valor de qualquer tipo de dados. Ao contrário de muitas outras linguagens, você não precisa dizer ao JavaScript durante a declaração de variáveis ​​que tipo de valor a variável manterá. O tipo de valor de uma variável pode mudar durante a execução de um programa e o JavaScript cuida disso automaticamente.

function test() {
   var num = 100
   console.log("Valor de num antes do bloco "+num)
   {
      console.log("Valor de num dentro do bloco")
      let num = 200
      console.log("value of num : "+num)
   }
   console.log("Valor de num depois do bloco "+num)
}
test()

A declaração const cria uma referência somente leitura para um valor

  • As constantes não podem ser transferidas para um valor.
  • Uma constante não pode ser declarada novamente.
  • Uma constante requer um inicializador. Isso significa que as constantes devem ser inicializadas durante sua declaração.
  • O valor atribuído a uma variável const é imutável.
   //const x = 10
   //x = 12 //  error!!

Funções

Funções são os blocos de construção de código legível, sustentável e reutilizável. Funções são definidas usando a palavra-chave da função.

Uma função pode ter retorno:
  • Uma função de retorno deve terminar com uma declaração de retorno.
  • Uma função pode retornar no máximo um valor. Em outras palavras, pode haver apenas uma instrução de retorno por função.
  • A instrução de retorno deve ser a última instrução na função.
Funções também pode ter parâmetros:
  • Parâmetros são um mecanismo para passar valores para funções.
  • Os parâmetros formam uma parte da assinatura da função.
  • Os valores dos parâmetros são passados ​​para a função durante sua invocação.
function function_name(val) { 
    // function body 
    return value;
 }
function_name('valor')
Rest Parameters

Parâmetros Rest não restringe o número de valores que você pode passar para uma função. No entanto, os valores passados ​​devem ser todos do mesmo tipo. Em outras palavras, Parâmetros Rest atuam como espaços reservados para vários argumentos do mesmo tipo. Para declarar um parâmetro de descanso, o nome do parâmetro é prefixado com três períodos, conhecido como o operador de spread.

function fun1(...params) { 
    console.log(params.length); 
 }  
 fun1();  
 fun1(5); 
 fun1(5, 6, 7); 
Funções Anônimas

Funções que não estão vinculadas a um identificador (nome da função) são chamadas como funções anônimas. Essas funções são declaradas dinamicamente no tempo de execução. Funções anônimas podem aceitar entradas e retornar saídas, assim como as funções padrão. Uma função anônima geralmente não é acessível após sua criação inicial. Variáveis ​​podem ser atribuídas a uma função anônima. Essa expressão é chamada de function expression.

var func = function(x,y){ return x*y }; 
function product() { 
   var result; 
   result = func(10,20); 
   console.log("The product : "+result) 
} 
product()
Arrow Functions ou Lambda Functions

Lambda refere-se a funções anônimas na programação. As funções lambda são um mecanismo conciso para representar funções anônimas. Essas funções também são chamadas de arrow functions.

Existem 3 partes para uma função Lambda:
  • Parâmetros – Uma função pode opcionalmente ter parâmetros.
  • A notação da seta gorda / notação lambda (=>): Também é chamada como o operador vai para.
  • Instruções – Representa o conjunto de instruções da função.
var foo = (x)=>10+x 
console.log(foo(10)) 
Módulo

Um módulo nada mais é do que um pedaço de código JavaScript escrito em um arquivo. As funções ou variáveis ​​em um módulo não estão disponíveis para uso, a menos que o arquivo do módulo as exporte.

Em termos mais simples, os módulos ajudam você a escrever o código em seu módulo e expor apenas as partes do código que devem ser acessadas por outras partes do seu código.

Exportar um único valor ou elemento – Usar padrão de exportação
export default element_name

Exportar vários valores ou elementos

export {element_name1,element_name2,....}
Importar um único valor ou elemento
nome do elemento de importação do module_name
Importar vários valores ou elementos
import {element_name1,element_name2,....} from module_name
function maiscula(palavra){
    return palavra.toUpperCase();
}
export default maiscula;
import maiuscula from './functions'
console.log(maiuscula('Olá Pessoal!!!'))
Objetos

Um objeto é uma instância que contém um conjunto de pares de valores de chave. Ao contrário dos tipos de dados primitivos, os objetos podem representar valores múltiplos ou complexos e podem mudar ao longo do seu tempo de vida. Os valores podem ser valores escalares ou funções ou até mesmo array de outros objetos.

Uma forma de trabalhar com objetos em javascript é dada a seguir. O exemplo abaixo, define uma pessoa do objeto. O objeto tem três propriedades. A terceira propriedade refere-se a uma função.

var person = { 
   firstname:"Tom", 
   lastname:"Hanks", 
   func:function(){return "Hello!!"},    
}; 
//access the object values 
console.log(person.firstname)   
console.log(person.lastname) 
console.log(person.func())
Referências: http://www.tutorialspoint.com/es6/

One comment

Deixe uma resposta

Specify Google Client ID and Secret in Super Socializer > Social Login section in admin panel for Google Login to work

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *