ECMAScript 2020

Nomor versi JavaScript

Versi JS yang lama dinamai dengan angka: ES5 (2009) dan ES6 (2015).

Dari tahun 2016, versi dinamai berdasarkan tahun: ECMAScript 2016, 2017, 2018, 2019, ...

Fitur baru di ES2020:

Peringatan

Fitur ini relatif baru.

Peramban yang lebih lama mungkin memerlukan kode pengganti (Polyfill).

BigInt JavaScript

Variabel BigInt JavaScript digunakan untuk menyimpan nilai bilangan bulat yang terlalu besar untuk dapat digambarkan dengan angka JavaScript biasa.

Bilangan bulat JavaScript hanya dapat menyesuaikan 15 digit.

Instance Integer

let x = 999999999999999;
let y = 9999999999999999; // Terlalu besar

Coba sendiri

Instance BigInt

let x = 9999999999999999;
let y = 9999999999999999n;

Coba sendiri

Untuk membuat BigInt, silakan gunakan n Tambahkan ke akhir bilangan bulat atau panggil BigInt():

Contoh

let x = 1234567890123456789012345n;
let y = BigInt(1234567890123456789012345);

Coba sendiri

Tipe JavaScript untuk BigInt adalah "bigint":

Contoh

let x = BigInt(999999999999999);
let type = typeof x;

Coba sendiri

Sejak September 2020, semua peramban modern mendukung BigInt:

Chrome Edge Firefox Safari Opera
Chrome 67 Edge 79 Firefox 68 Safari 14 Opera 54
Mei 2018 Januari 2020 Juli 2019 September 2020 Juni 2018

Method string JavaScript matchAll()

sebelum ES2020, tidak ada metode string yang dapat digunakan untuk mencari semua penampakan string di dalam string.

Contoh

const iterator = text.matchAll("Cats");

Coba sendiri

jika parameter adalah ekspresi reguler, maka harus mengatur tanda global (g) sebaliknya akan melempar TypeError.

Contoh

const iterator = text.matchAll(/Cats/g);

Coba sendiri

jika ingin melakukan pencarian yang tak berbeda huruf besar, maka harus mengatur tanda tak berbeda huruf besar (i)

Contoh

const iterator = text.matchAll(/Cats/gi);

Coba sendiri

Pemberitahuan:ES2021 menambahkan metode string replaceAll().

Operator Penggabungan Nullish (Nullish Coalescing Operator) (operator ??)

jika parameter pertama bukan nilai kosong (null atau undefinedjika ?? operator mengembalikan parameter pertama.

jika tidak, kembalikan nilai kedua.

Contoh

let name = null;
let text = "missing";
let result = name ?? text;

Coba sendiri

sejak bulan Maret 2020, semua peramban modern mendukung operator nullish:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 72 Safari 13.1 Opera 67
Februari 2020 Februari 2020 Januari 2020 Maret 2020 Maret 2020

Operator Garis Lurus Pilihan (Optional Chaining Operator) (operator ?.)

jika objek adalah undefined atau nulljikaOperator Garis Lurus Pilihanmengembalikan undefined(dalam lugar menolak kesalahan).

Contoh

const car = {type:"Fiat", model:"500", color:"white"};
let name = car?.name;

Coba sendiri

sejak bulan Maret 2020, semua peramban modern mendukung ?.= Operator:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 74 Safari 13.1 Opera 67
Februari 2020 Februari 2020 Maret 2020 Maret 2020 Maret 2020

Operator penggabungan logika AND (&&= operator)

Operator Penugasan Logika ANDdigunakan untuk antara dua nilai.

jika nilai pertama adalah truejika nilai pertama

Contoh Penugasan Logika AND

let x = 100;
x &&= 5;

Coba sendiri

Selama bulan September 2020, semua peramban modern mendukung &&= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Agustus 2020 Agustus 2020 Maret 2020 September 2020 September 2020

Operator Penugasan Logika OR (operator ||=)

Operator Penugasan Logika ORdigunakan untuk antara dua nilai.

jika nilai pertama adalah falsejika nilai pertama

Contoh Penugasan Logika OR

let x = 10;
x ||= 5;

Coba sendiri

Selama bulan September 2020, semua peramban modern mendukung ||= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Agustus 2020 Agustus 2020 Maret 2020 September 2020 September 2020

Operator penggabungan pengalihan nilai kosong(??= operator)

Operator penggabungan pengalihan nilai kosong(Nullish Coalescing Assignment Operator)digunakan di antara dua nilai.

jika nilai pertama undefined atau nulljika nilai pertama

Contoh penggabungan pengalihan nilai kosong

let x = 10;
x ??= 5;

Coba sendiri

Selama bulan September 2020, semua peramban modern mendukung ??= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Agustus 2020 Agustus 2020 Maret 2020 September 2020 September 2020