Home > programacao > javascript

JavaScript

Marcos - 26/03/2025

Explorando as Novidades do ES2023: O que Há de Novo no JavaScript?

Descubra as novidades do ES2023 e como as novas funcionalidades do JavaScript podem otimizar seu código. Métodos imutáveis, classes privadas e muito mais!

Explorando as Novidades do ES2023: O que Há de Novo no JavaScript?

Se você trabalha com desenvolvimento web, sabe que o JavaScript está em constante evolução.

A cada ano, novas funcionalidades são adicionadas ao padrão ECMAScript (ES), tornando a linguagem mais eficiente, segura e poderosa.

No ES2023, algumas melhorias significativas foram introduzidas, focando em otimização de código, melhor manuseio de erros e novas possibilidades para manipulação de arrays e objetos.

Vamos explorar cada uma dessas novidades para entender como elas podem melhorar o seu código!

Novos Recursos do ES2023

A edição de 2023 do ECMAScript trouxe algumas mudanças interessantes. Aqui estão os principais destaques:

  • Array findLast() e findLastIndex()
  • Métodos de Manipulação de Array com toSorted(), toReversed(), toSpliced()
  • Novos métodos para Manipulação de Strings com toWellFormed() e toSorted()
  • Modificadores de Campos Privados em Classes
  • Melhorias no manuseio de erros com Error Cause

1. Novos Métodos findLast() e findLastIndex()

Os métodos findLast() e findLastIndex() funcionam de maneira semelhante ao find() e findIndex(), mas em vez de percorrer o array do início ao fim, eles fazem o processo inverso, começando do último elemento.

const numeros = [10, 20, 30, 40, 50];const ultimoMaiorQue25 = numeros.findLast(n => n > 25);console.log(ultimoMaiorQue25); // 50const ultimoIndiceMaiorQue25 = numeros.findLastIndex(n => n > 25);console.log(ultimoIndiceMaiorQue25); // 4

Esses métodos são especialmente úteis quando você precisa localizar um item específico, mas quer começar pelo final da lista, otimizando a busca.

2. Novos Métodos para Arrays: toSorted(), toReversed() e toSpliced()

Até o ES2022, os métodos de ordenação (sort()), reversão (reverse()) e remoção (splice()) modificavam diretamente o array original.

No ES2023, foram introduzidas versões imutáveis desses métodos.

const numeros = [5, 2, 8, 1];// Ordenação sem modificar o array originalconst ordenado = numeros.toSorted();console.log(ordenado); // [1, 2, 5, 8]console.log(numeros); // [5, 2, 8, 1] (inalterado)// Reversão sem alterar o originalconst reverso = numeros.toReversed();console.log(reverso); // [1, 8, 2, 5]// Splice imutávelconst semPrimeiro = numeros.toSpliced(0, 1);console.log(semPrimeiro); // [2, 8, 1]

Com esses métodos, evitamos mutações acidentais nos arrays originais, tornando o código mais seguro e previsível.

3. Novas Funções para Strings: toWellFormed() e toSorted()

O método toWellFormed() garante que a string resultante seja válida no padrão Unicode, evitando caracteres malformados.

Já o toSorted() organiza strings por ordem Unicode.

const texto = "hello";console.log(texto.toWellFormed()); // "hello�"const palavras = ["zebra", "maçã", "banana"];console.log(palavras.toSorted()); // ["banana", "maçã", "zebra"]

4. Modificadores de Campos Privados em Classes

No ES2023, campos privados em classes podem ter acesso controlado por meio de #.

Agora, métodos privados podem ser modificados sem expor sua implementação.

class Usuario {#senha;constructor(nome, senha) {this.nome = nome;this.#senha = senha;}autenticar(senha) {return this.#senha === senha;}}const usuario = new Usuario("João", "12345");console.log(usuario.autenticar("12345")); // trueconsole.log(usuario.#senha); // Erro: campo privado

Isso melhora a segurança dos dados no código e reduz possíveis falhas de segurança.

5. Melhor Manuseio de Erros com Error Cause

Antes do ES2023, era difícil capturar a causa raiz de um erro. Agora, podemos usar cause no objeto Error para armazenar detalhes do erro original.

try {throw new Error("Erro principal", {{ cause: new Error("Erro secundário") }});}} catch (e) {{console.log(e.message); // "Erro principal"console.log(e.cause); // Error: "Erro secundário"}}

Isso facilita o rastreamento da origem de falhas, especialmente em aplicações grandes.

Conclusão

As novas funcionalidades do ES2023 tornam o JavaScript mais eficiente, seguro e poderoso.

Métodos como findLast() e toSorted() trazem mais flexibilidade, enquanto melhorias em classes privadas e no tratamento de erros aumentam a robustez do código.

Se você quer manter seu código atualizado e otimizado, vale a pena começar a testar essas novidades agora mesmo!

🔗 Links Úteis

Gostou do conteúdo? Compartilhe com outros devs e fique ligado nas novidades do JavaScript! 😉

linkedinlinkedinlinkedin