Folha de dicas de JavaScript rápida e prática da Toptal: ES6 e além
Publicados: 2022-03-11ECMAScript 6 (ES6) é a especificação padrão mais recente do JavaScript , a linguagem de programação da Web. Desde o HTML5 e o nascimento do Node.js , o tempo de execução que nos permite executar JavaScript no servidor ou na área de trabalho, o JavaScript ganhou um impulso único. Há uma taxa de adoção crescente entre as empresas, adotando-o em produção e, portanto, seus mais novos recursos foram muito aguardados.
Criamos esta folha de dicas como uma lista de recursos do ES6 que usamos todos os dias. Tentando ser abrangente, mas conciso ao mesmo tempo, novos métodos de API são deixados de lado. Para aqueles que precisam deles, faça uma pesquisa rápida por conta própria ou tente explorar a documentação do MDN para obter as APIs experimentais mais recentes. No entanto, algumas das características mais avançadas, como async
e await
do próximo rascunho de especificação (ES7), estão incluídas. Isso ocorre porque a maioria de nós, desenvolvedores, usará um transpilador como o Babel de qualquer maneira para obter vantagem do JavaScript mais recente.
Você pode testar algumas das dicas mencionadas executando o node REPL com este comando:
node --use-strict $(node --v8-options | grep harm | awk '{print $1}' | xargs) #ES6
Ou use diretamente um babel-node para obter o máximo do Javascript em seu console.
Clique aqui para baixar a folha de dicas do JavaScript ES6
Folha de dicas de JavaScript (ES6 e além)
Constantes | deixe vs var | |
> const EULER = 2,7182818284 | > var média = 5 | |
Aviso! Se array ou objeto, a referência é mantida constante . Se a constante for uma referência a um objeto, você ainda poderá modificar o conteúdo, mas nunca alterar a variável. | ||
> const CONSTANTES = [] | Esteja ciente das Zonas Mortas Temporais : | |
> console.log(val) // -> 'indefinido' | ||
Porque é equivalente a: | ||
Notação Binária, Octal e Hex | > var val | |
> 0b1001011101 // 605 | ||
Variáveis declaradas com "let/const" não são içadas: | ||
Novos tipos | > console.log(val) | |
Símbolos, mapas, mapas fracos e conjuntos | ||
Função de seta | Novas funções com escopo | |
> setTimeout(() => { | > { | |
Equivalente à função anônima | Equivalente a Expressões de Função Invocadas Imediatamente (IIFE) | |
> setTimeout(função() { | > (função () { | |
Novidades de Notação de Objeto | Interpolação de strings, graças aos literais de modelo | |
// Propriedades computadas // Literais de objetos // Igual a } | > const nome = 'Tigre' // Podemos preservar novas linhas… | |
![]() | Parâmetros padrão | |
> função howAreYou (resposta = 'ok') { | ||
Promessas | Classes, Herança, Setters, Getters | |
new Promise((resolver, rejeitar) => { | class Retângulo estende Forma { | |
Desestruturando Arrays | Desestruturando Objetos | |
> seja [a, b, c, d] = [1, 2, 3, 4]; | > deixe luke = { ocupação: 'jedi', | |
Operador de Spread | ...Vá se desestruturando como um chefe | |
// Transforma arrays em separados por vírgula | > const [ gato, cachorro, ...peixe ] = [ | |
Ou faça um empurrão melhor | ...E desestruturando no futuro ES7 | |
> deixe arr = [1, 2, 3] | {a, b, ...repouso} = {a:1, b:2, c:3, d:4} | |
Assíncrono ES7 | Aguardar ES7 | |
função assíncrona schrodinger () { | experimentar { | |
Exportar ES7 | Importando ES7 | |
função de exportação somaDois (a, b) { | importar Reagir de 'reagir' | |
Geradores | ||
Eles retornam objetos que implementam um protocolo de iteração. ou seja, tem um método next() que retorna { value: < some value>, done: <true or false> } . | ||
function* incRand (max) { // Asterisco define isso como um gerador | ||
> var rng = incRand(2) // Retorna um objeto gerador |