ECMAScript 2023 (ES14) — apa yang diharapkan

Apr 17 2023
Ada empat proposal yang sudah selesai tahun ini untuk ECMAScript 2023 (ES14). Keempatnya terdaftar di GitHub sebagai proposal yang sudah selesai, yang mendekati rilis resmi.

Ada empat proposal yang sudah selesai tahun ini untuk ECMAScript 2023 (ES14). Keempatnya terdaftar di GitHub sebagai proposal yang sudah selesai, yang mendekati rilis resmi. Diharapkan bahwa mereka akan dirilis secara resmi pada Juni 2023.

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

Sekarang mari kita lihat lebih dekat masing-masing proposal ini.

Temukan array dari yang terakhir

Fitur yang diusulkan ini akan berfungsi serupa dengan Array.prototype.finddan Array.prototype.findIndex, tetapi dengan perbedaan utama, fitur ini akan beralih dari elemen terakhir ke elemen pertama.

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

Intinya, jika kita membuat perintah CLI JavaScript/Node.js seperti ini, sistem akan secara otomatis mendeteksi dan menghapus baris pertama sebelum menjalankan Node.js. Ini karena baris pertama bukan kode JavaScript yang valid dan juru bahasa dapat mengembalikan kesalahan saat menemukannya.

#!/usr/bin/env node

console.log('Hey!');

Simbol sebagai kunci WeakMap

Sederhananya, WeakMaps sekarang akan memiliki dukungan untuk Simbol.

const weak = new WeakMap();

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

weak.set(key, someObject);

Proposal ini menyarankan penambahan properti fungsi berikut ke Array.prototype:

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

Jadi itu adalah metode yang tidak dapat diubah.

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]

Karena ini masih April dan kami memiliki waktu hingga Juni, ada kemungkinan lebih banyak fitur disertakan dalam rilis ECMAScript 2023.

Saya harap Anda telah menemukan artikel ini informatif dan menyenangkan. Jangan ragu untuk menghubungi saya dengan pertanyaan atau komentar yang mungkin Anda miliki. @nairihar

Global NPM/Node.js executable Cara Menskalakan Server Soket Node.js dengan Nginx dan Redis Cara menggunakan Dalang di Heroku