Expression and Operator
Nullish Coalescing Assignment (??=)
operator untuk handle value ketika sebuah varible memiliki value undefined atau null, selain value itu akan dikatakan. contoh value falsy(0,"", NaN)
sebagia contoh
let x = null
x ??= 20
// output: 20
let y = undefined
y ??= 10
// output: 10
diatas ada sebuah variable x denagn value null, dan ketika dijalankan outputnya yaitu 20. dikarenakan variable x bernilai null.
Nullish Coalescing Operator (??)
sama seperti Nullish coalescing assignment, operator ini untuk mengatasi ketika sebuah kondisi pertama memiliki value nullish(null dan undefined), operator satu ini bisanya digunakan pada value sedangkan nullish coalescing untuk reassignment variable
berikut contohnya
// nullish coaslescing operator (??)
let x = null ?? 20
// output: 20
// nullish coalescing assignment
let y = null
// kemudian baris berikutnya ingin assign ulang variable y
y ??=10
// output: 10
sudah terlihat perbedaanya. ?? untuk handle value variable, sedangkan ??= untuk handle assignment pada variable
Logical OR (||)
logical or ini masih memiliki kesamaan dengan operator ?? dan ??=, namun perbedaanya yaitu terletak pada conditionya. OR ini menerima semua value falsy(null, undefined, 0. "") jadi ketika ada value falsy maka value yang diassign ke variable yaitu value disebelah kanan, begitupun sebaliknya
const x = null || 10
// output: 10
const y = undefined || 20
// output: 20
const z = 0 || 30
// output: 30