ECMAScript 2023 (ES14) — o que esperar

Apr 17 2023
Existem quatro propostas finalizadas este ano para o ECMAScript 2023 (ES14). Todos os quatro estão listados no GitHub como propostas concluídas, que estão se aproximando do lançamento oficial.

Existem quatro propostas finalizadas este ano para o ECMAScript 2023 (ES14). Todos os quatro estão listados no GitHub como propostas concluídas, que estão se aproximando do lançamento oficial. Prevê-se que eles sejam lançados oficialmente em junho de 2023.

https://github.com/tc39/proposals/blob/main/finished-proposals.md

Vamos agora examinar mais de perto cada uma dessas propostas.

Matriz encontrada desde o último

Esse recurso proposto funcionaria de maneira semelhante a Array.prototype.finde Array.prototype.findIndex, mas com a principal diferença, ele iteraria do último elemento para o primeiro.

const array = [{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }];

array.find(n => n.value % 2 === 1); // { value: 1 }
array.findIndex(n => n.value % 2 === 1); // 0

array.findLastIndex(n => n.value % 2 === 1); // 2
array.findLastIndex(n => n.value === 42); // -1

Essencialmente, se criarmos um comando CLI JavaScript/Node.js como este, o sistema deve detectar e remover automaticamente a primeira linha antes de executar o Node.js. Isso ocorre porque a primeira linha não é um código JavaScript válido e os interpretadores podem retornar um erro ao encontrá-lo.

#!/usr/bin/env node

console.log('Hey!');

Símbolos como chaves WeakMap

Simplificando, o WeakMaps agora terá suporte para símbolos.

const weak = new WeakMap();

const key = Symbol('something');
const someObject = { /**/ };

weak.set(key, someObject);

Esta proposta sugere a adição das seguintes propriedades de função a Array.prototype:

  • Array.prototype.toReversed() -> Array
  • Array.prototype.toSorted(compareFn) -> Array
  • Array.prototype.toSpliced(start, deleteCount, ...items) -> Array
  • Array.prototype.with(index, value) -> Array

Portanto, esses são métodos imutáveis.

const sequence = [1, 2, 3];
sequence.toReversed(); // => [3, 2, 1]
sequence; // => [1, 2, 3]

const outOfOrder = new Uint8Array([3, 1, 2]);
outOfOrder.toSorted(); // => Uint8Array [1, 2, 3]
outOfOrder; // => Uint8Array [3, 1, 2]

const correctionNeeded = [1, 1, 3];
correctionNeeded.with(1, 2); // => [1, 2, 3]
correctionNeeded; // => [1, 1, 3]

Como ainda é abril e temos algum tempo até junho, existe a possibilidade de mais recursos serem incluídos no lançamento do ECMAScript 2023.

Espero que você tenha achado este artigo informativo e agradável. Por favor, sinta-se à vontade para entrar em contato comigo com quaisquer perguntas ou comentários que você possa ter. @nairihar

Executáveis ​​NPM/Node.js globais Como dimensionar o servidor de soquete Node.js com Nginx e Redis Como usar o Puppeteer no Heroku