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