JavaScript - Operator Penyusunan Nullish

Hai, para pemrogram yang sedang berkembang! Hari ini, kita akan mempelajari sebuah fitur menarik dari JavaScript yang bisa membuat kode Anda lebih bersih dan efisien. Fitur ini dinamai Operator Penyusunan Nullish, dan saya berjanji Anda akan merasa begitu menarik seperti saya sekali Anda memahami kekuatannya!

JavaScript - Nullish Coalescing Operator

Apa Itu Operator Penyusunan Nullish?

Sebelum kita masuk ke detilnya, mari mulai dengan pertanyaan sederhana: Apakah Anda pernah perlu memeriksa nilai null atau undefined sebelum menggunakannya? Jika Anda menggoyangkan kepalanya, Anda pasti akan menyukai apa yang akan datang!

Operator Penyusunan Nullish (diwakili oleh ??) adalah operator logis yang mengembalikan operan sebelah kanannya saat operan sebelah kirinya adalah null atau undefined, dan sebaliknya mengembalikan operan sebelah kirinya.

Sekarang, saya tahu itu mungkin terdengar sedikit membingungkan pada awalnya, tapi jangan khawatir! Kita akan membongkar ini langkah demi langkah dengan banyak contoh.

Sintaks

Sintaks Operator Penyusunan Nullish sungguh sangat sederhana:

leftExpr ?? rightExpr

Di sini, leftExpr dan rightExpr adalah ekspresi dari jenis apa pun. Jika leftExpr adalah null atau undefined, operator mengembalikan rightExpr. Sebaliknya, ia mengembalikan leftExpr.

Contoh

Ayo masuk ke beberapa contoh untuk melihat bagaimana ini bekerja dalam praktek.

Contoh 1: Penggunaan Dasar

let username = null;
let displayName = username ?? "Anonymous";

console.log(displayName); // Output: "Anonymous"

Dalam contoh ini, username adalah null, jadi Operator Penyusunan Nullish mengembalikan "Anonymous". Itu seperti mengatakan, "Jika username memiliki nilai, gunakan itu. Jika tidak, gunakan 'Anonymous'."

Contoh 2: Perbandingan dengan Operator OR Logis

Anda mungkin berpikir, "Buatlah kita hanya gunakan operator OR logis (||) untuk ini?" Well, mari kita lihat perbedaannya:

let count = 0;

let result1 = count || 10;
let result2 = count ?? 10;

console.log(result1); // Output: 10
console.log(result2); // Output: 0

Kaget! Operator OR logis menganggap 0 sebagai nilai falsy dan mengembalikan 10, sedangkan Operator Penyusunan Nullish hanya memeriksa null atau undefined, jadi ia mengembalikan 0.

Contoh 3: Penyusunan Nullish Bertingkat

Kami bahkan dapat menggabungkan beberapa Operator Penyusunan Nullish:

let user = {
name: "Alice",
age: null
};

let userAge = user.age ?? user.yearOfBirth ?? "Unknown";

console.log(userAge); // Output: "Unknown"

Di sini, kita pertama-tama memeriksa jika user.age bukan null atau undefined. Karena itu null, kita kemudian memeriksa user.yearOfBirth. Karena itu tidak ada (undefined), kita akhirnya fallback ke "Unknown".

Short-Circuiting

Salah satu fitur yang paling menarik dari Operator Penyusunan Nullish adalah short-circuiting. Ini berarti bahwa jika operan sebelah kiri bukan null atau undefined, operan sebelah kanan tidak akan bahkan dievaluasi!

let x = 5;
let y = x ?? console.log("Ini tidak akan dicetak");

console.log(y); // Output: 5

Dalam contoh ini, karena x bukan null atau undefined, console.log() di sebelah kanan tidak pernah dieksekusi. Ini bisa sangat membantu untuk optimasi kinerja!

Tabel Metode

Berikut adalah tabel praktis yang menyummarisakan metode dan konsep utama yang kita bahas:

Metode/Konsep Deskripsi Contoh
Operator Penyusunan Nullish (??) Mengembalikan operan sebelah kanan saat operan sebelah kiri adalah null atau undefined let result = null ?? "default"
Short-Circuiting Operan sebelah kanan tidak dievaluasi jika operan sebelah kiri bukan null atau undefined let y = 5 ?? expensiveOperation()
Penyusunan Beberapa operator ?? dapat digabungkan let z = a ?? b ?? c ?? "default"

Kesimpulan

Dan itu dia, teman-teman! Operator Penyusunan Nullish adalah alat kuat dalam peralatan JavaScript Anda. Itu membantu Anda menulis kode yang lebih bersih dan ekspresif, khususnya saat berurusan dengan nilai yang mungkin null atau undefined.

Ingat, pemrograman tentang memecahkan masalah, dan Operator Penyusunan Nullish adalah seperti pisau Wenger untuk menangani kasus null dan undefined yang merusak. Jadi, teruskan dan code dengan kepercayaan!

Sebelum kita selesai, mari saya share cerita kecil dari pengalaman mengajar saya. Pernah sekali saya memiliki murid yang kesulitan menangani nilai null dalam kode mereka. Mereka menggunakan statemen if-else yang kompleks di mana-mana, membuat kode mereka sulit dibaca dan dipelihara. Ketika saya memperkenalkan mereka ke Operator Penyusunan Nullish, mata mereka bersinar seperti mereka baru saja menemukan sihir. Kode mereka menjadi bersih dalam semalam, dan mereka tidak bisa berhenti membicarakan betapa mudah itu membuat hidup mereka. Siapa tahu? Mungkin Anda akan memiliki momen "aha!" serupa dalam perjalanan pemrograman Anda!

Terus berlatih, tetap curiga, dan selamat coding!

Credits: Image by storyset