Logical Operators and Assignment
Operator dan deklarasi logika merupakan fitur baru
pada JavaScript tahun 2020. Fitur tersebut merupakan
sekumpulan operator baru yang mengubah sebuah objek
JavaScript.
Tujuan dari fitur tersebut adalah untuk menggunakan
konsep matematika (contoh: +=, -=, dan *=) kembali
dengan logika.
// Sekumpulan operator tersebut dapat menangani kasus
atribut bersarang, yang dapat mengurangi baris kode
_boilerplate_.
interface Pengguna {
id?: number
nama: string
lokasi: {
kodePos?: string
}
}
function perbaruiPengguna(pengguna: Pengguna) {
// Kode di bawah ini dapat diganti
if (!pengguna.id) pengguna.id = 1
// Kode di bawah ini juga dapat diganti
pengguna.id = pengguna.id || 1
// Dengan kode di bawah ini:
pengguna.id ||= 1
}
// Ada tiga buah operator baru:
||= yang ditunjukkan pada bari kode di atas.
&&= yang menggunakan operator logika 'and'
??= yang yang terdapat pada example:nullish-coalescing
untuk menawarkan versi || yang lebih ketat yang menggunakan
operator ===
Anda dapat mempelajari lebih lanjut mengenai hal ini
pada proposal yang terdapat pada:
https://github.com/tc39/proposal-logical-assignment
declare const pengguna: Pengguna
pengguna.lokasi.kodePos ||= "90210"