Skip to main content

Features ECMAScript 2025

  • Features ECMAScript 2025

1. 🎭 Pattern Matching (Como um switch inteligente!)

Agora você pode casar padrões diretamente, deixando o código mais curto e fácil de ler:

let user = { role: "admin" };

match (user) {
{ role: "admin" } => console.log("Bem-vindo, Admin!"),
{ role: "guest" } => console.log("Olá, Convidado!"),
_ => console.log("Usuário não encontrado.")
}

✅ Fácil de ler ✅ Adeus ifs ou switch enormes!


2. 🔐 Records e Tuples (Dados seguros e imutáveis)

Crie objetos e arrays que não podem ser modificados — perfeitos para dados importantes:

let pessoa = #{ nome: "Alex", idade: 30 };
let numeros = #[1, 2, 3];

console.log(pessoa.nome); // Alex
// pessoa.idade = 31; ❌ Erro! Não pode alterar!

✅ Dados seguros ✅ Ideal para informações críticas


3. ⛓️ Async Context (Mantenha dados no mundo assíncrono)

Antes, era fácil perder dados em chamadas assíncronas. Agora, com AsyncLocalStorage, fica muito mais confiável:

import { AsyncLocalStorage } from 'async_hooks';

const storage = new AsyncLocalStorage();

function logUser() {
setTimeout(() => {
console.log("Usuário:", storage.getStore()); // Sempre mostra o correto!
}, 1000);
}

storage.run("Alex", () => {
logUser();
});

✅ Dados consistentes mesmo com async/await ou callbacks


4. 🧾 Módulos JSON nativos (Importe .json com estilo)

Agora é só importar arquivos .json diretamente:

import config from './config.json' with { type: 'json' };

console.log(config.theme); // "dark"

✅ Sem código extra ✅ Só importar e usar!


5. 🚰 Pipeline Operator (|>) (Encadeie como mágica)

O pipeline operator deixa o encadeamento de funções super limpo:

let resultado = 3
|> addOne
|> square
|> double;

console.log(resultado);

✅ Mais legível ✅ Perfeito para passos e filtros