Airton Vancin Junior
Blog Plugins Projetos Sobre Contato Zero Downtime
Airton Vancin Junior
Blog Plugins Projetos Sobre Contato Zero Downtime

JavaScript - ES6: let, const, arrow function

A nova versão do JavaScript, conhecida também como ECMAScript 6, vamos falar sobre let, const e arrow function.

4 de ago. de 2020 · 3 min de leitura

A nova versão do JavaScript, conhecida também como ECMAScript 6 ou apenas ES6, vamos falar sobre let, const e arrow function.

Let

Declara uma variável local no escopo do bloco atual, opcionalmente iniciando-a com um valor. O let é o substituto para var, pois ele será descontinuado futuramente. Por que ele se comporta como o esperado de uma variável.

Exemplo usando var:

nome = "Airton";
var nome;
console.log(nome); // Airton

Se fizermos o mesmo, substituindo por let, o que vai acontecer:

nome = "Airton";
let nome;
console.log(nome); // undefined

Vai dar erro, pois o let suporta somente o modo estrito, o famoso 'use strict', a blz então só adicionar no começo do arquivo:

"use strict";
nome = "Airton";
let nome;
console.log(nome); // undefined

Também não vai funcionar :disappointed: , pois o let obriga você a sempre declarar as variáveis antes de ser chamada, então como que vai ficar?

"use strict";
let nome;
nome = "Airton";
console.log(nome); // Airton

Você pode ver aqui sobre Hoisting para entender melhor isso.

Const

Como o próprio nome diz são constantes, então:

  • O valor de uma constante não pode ser alterado;
  • É obrigatório que um valor seja atribuido à constante em sua declaração;
  • Uma constante não deve compartilhar o nome com uma função ou variável em um mesmo escopo.

Isso quer dizer que uma vez declarada você não consegue mais alterar o valor dela, certo? sim esse é o propósito, mas existe uma marotagem para poder alterar esse valor.

Então se você declarar uma const, ex:

const nome = "Airton";

O valor da const nome nesse exemplo sempre vai ser Airton, agora se você tentar redeclarar ela com outro valor, o que acontece?

const nome = "Airton";
const nome = "Junior";

Isso vai dar erro dizendo que essa const já foi declarada:

TypeError: Identifier 'nome' has already been declared

E se eu tentar reescrever assim:

const nome = "Airton";
nome = "Junior";
console.log(nome); // Airton

Não vai dar erro, mas quando você for imprimir a const nome ele vai imprimir Airton.

Const também funciona com objetos:

const user = { name: "Airton" };
console.log(user); // { name: 'Airton' }

Entretanto, atributos de objetos não estão protegidos, logo a seguinte instrução é executada sem problemas:

const user = { name: "Airton" };
user.name = "Junior";
console.log(user); // { name: 'Junior' }

Arrow Function

É uma função que possui uma sintaxe mais curta, e elas sempre são funções anônimas (IIFE), vinculando o valor de this de maneira léxica, quando ela é criada o valor de this sempre será o mesmo.

// Função normal
function (name) { return name; }

// Arrow Function
(name) => name;

Função nomeada não é possível fazer com arrow function:

// Função normal
function sayName(name) { return name; }

// Arrow Function
sayName(name) => name; // <-- ISSO NÃO EXISTE

O que fazer então? vamos estanciar ela como uma constante:

// Arrow Function
const sayName = (name) => name; // Ae agora sim

Vamos ver um exemplo de uma função que retorna a média de dois números:

// ES5
const media = (function (num1, num2) {
  return (num1 + num2) / 2;
})(10, 50); // passando os valores 10  e 50 como parâmetros

console.log(media); // 30

// --------------------------------

// ES6
const media = ((num1, num2) => {
  return (num1 + num2) / 2;
})(10, 50);

console.log(media); // 30

// OU MAIS SIMPLES

const media = ((num1, num2) => (num1 + num2) / 2)(10, 50);
console.log(media); // 30
Compartilhar:

Posts Relacionados

Nextcloud SSO with Keycloak: SAML Without the Lockout

en

Wiring Nextcloud to Keycloak over SAML: import the metadata instead of typing endpoints, map the UID to something permanent, and set the one toggle that stops you locking yourself out.

Making WordPress an OpenID Connect Provider

en

Your members already live in wp_users. Here is how to let WordPress issue identity to other applications over OIDC, which plugin to pick, and the discovery-endpoint trap that breaks the setup halfway through.

WordPress and Nextcloud SSO: A Practical Guide to Single Sign-On

en

Three ways to wire single sign-on between WordPress and Nextcloud: a shared SAML provider, WordPress as the OIDC provider, or Nextcloud's built-in OAuth2 server. Which plugin each needs, when to pick which, and the traps.

Comentários

Front End Zero Downtime

Garanta que suas aplicações Web estejam sempre disponíveis, sem interrupções, sem perda de receita.

Disponível por tempo limitado.

Airton Vancin

Desenvolvedor de software com mais de 15 anos de experiência, construindo produtos web modernos e escaláveis.

GitHub LinkedIn WordPress Email Substack

Mapa do Site

  • Home
  • Blog
  • Prévias
  • Sobre
  • Contato
  • Zero Downtime
Projetos
  • Balancewise.io
  • Timberoad
  • Pablo Escobar Ipsum
Plugins WP
  • Video Destacado
  • Manage User Roles
  • Nudge SEO AI
  • SSO Connector for JumpCloud
  • Notria AI Suite

© 2026 Airton Vancin. Todos os direitos reservados.

Termos de Uso Políticas de Privacidade