Skip to main content

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