JavaScript - Penyambungan Operator Nullish

Hai, para pemrogram yang sedang mencari ilmu! Hari ini, kita akan melihat fitur menarik JavaScript yang bisa membuat kode Anda lebih bersih dan efisien. Fitur ini disebut Penyambungan Operator Nullish, dan saya berjanji Anda akan menemukannya sama menyenangkan seperti saya saat Anda memahami kekuatannya!

JavaScript - Nullish Coalescing Operator

Apa Itu Penyambungan Operator Nullish?

Sebelum kita masuk ke detailnya, mari kita mulai dengan pertanyaan sederhana: Apakah Anda pernah perlu memeriksa nilai null atau undefined sebelum menggunakannya? Jika Anda menjeritkan kepala Anda, Anda pasti akan mencintai apa yang akan datang!

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

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

Sintaks

Sintaks Penyambungan Operator Nullish mengejutkan mudah:

leftExpr ?? rightExpr

Di sini, leftExpr dan rightExpr adalah ekspresi jenis apa saja. 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 Penyambungan Operator Nullish mengembalikan "Anonymous". Itu seperti mengatakan, "Jika username memiliki nilai, gunakan itu. Jika tidak, gunakan 'Anonymous'."

Contoh 2: Perbandingan dengan Operator Logis OR

Anda mungkin berpikir, "Buatlah kami hanya menggunakan operator logis OR (||) untuk ini?" 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 logis OR menganggap 0 sebagai nilai falsy dan mengembalikan 10, sedangkan Penyambungan Operator Nullish hanya memeriksa null atau undefined, jadi ia mengembalikan 0.

Contoh 3: Penyambungan Nullish Bertingkat

Kita bahkan dapat menggabungkan beberapa Penyambungan Operator 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 apakah user.age bukan null atau undefined. Karena itu null, kita kemudian memeriksa user.yearOfBirth. Karena itu tidak ada (undefined), kita akhirnya kembali ke "Unknown".

Short-Circuiting

Salah satu fitur yang paling menarik dari Penyambungan Operator Nullish adalah short-circuiting. Ini berarti bahwa jika operand sebelah kiri bukan null atau undefined, operand 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 performa!

Tabel Metode

Berikut adalah tabel praktis yang menggabungkan metode dan konsep utama yang kita cover:

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

Kesimpulan

Dan begitu Anda memilikinya, teman-teman! Penyambungan Operator 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 Penyambungan Operator Nullish adalah seperti pisau瑞士 Army knife untuk menangani kasus null dan undefined yang merusak. Jadi, teruskan dan code dengan kepercayaan!

Sebelum kita selesai, mari saya bagikan cerita kecil dari pengalaman mengajar saya. Pernah saya punya murid yang kesulitan menangani nilai null dalam kode mereka. Mereka menggunakan statemen if-else kompleks di mana-mana, membuat kode mereka sulit dibaca dan dipelihara. Ketika saya memperkenalkan mereka ke Penyambungan Operator Nullish, mata mereka bersinar seperti mereka baru saja menemukan sihir. Kode mereka menjadi lebih 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 latihan, tetap bercuriga, dan happy coding!

Credits: Image by storyset