Melindungi Nilai JavaScript: Elvis dan Operator Navigasi Selamat
Dalam JavaScript, memastikan pembolehubah tidak batal atau tidak ditentukan adalah penting untuk mengelakkan ralat. Pengendali Elvis dan pengendali navigasi selamat ialah dua teknik yang boleh membantu dengan tugas ini.
Operator Elvis: Pintasan Bersyarat
Serupa dengan pengendali ternary Java, pengendali Elvis (?:) memberikan nilai lalai jika ungkapan sebelah kiri diselesaikan kepada palsu, batal atau tidak ditentukan. Contohnya:
const displayName = user.name ?: "Anonymous";
Jika nama pengguna wujud dan tidak kosong, displayName akan menerima nilainya. Jika tidak, ia akan lalai kepada "Tanpa Nama."
Operator Navigasi Selamat: Mengelakkan NullPointerExceptions
Operator navigasi selamat (?.) menghalang NullPointerExceptions apabila mengakses sifat yang berpotensi null objek. Daripada membuang pengecualian, ia hanya mengembalikan null. Contohnya:
const streetName = user?.address?.street;
Jika alamat pengguna atau pengguna adalah batal, streetName akan kekal batal. Ini melindungi daripada ralat apabila mengakses sifat objek yang tidak wujud.
Alternatif dalam JavaScript
Pada masa ini, JavaScript tidak mempunyai pengendali Elvis. Sebaliknya, anda boleh menggunakan operator OR logik (||) untuk tugasan bersyarat:
const displayName = user.name || "Anonymous";
Walau bagaimanapun, tiada persamaan langsung untuk pengendali navigasi selamat. Untuk kefungsian yang serupa, pertimbangkan untuk menggunakan CoffeeScript, yang menyediakan pengendali wujud:
const zip = lottery.drawWinner?().address?.zipcode;
CoffeeScript juga menawarkan peningkatan sintaksis lain seperti ulasan berbilang baris, pintasan fungsi dan panggilan fungsi "seksi". Ciri ini boleh meningkatkan kebolehbacaan dan ekspresif dalam kod JavaScript.
Atas ialah kandungan terperinci Bagaimanakah Elvis dan Operator Navigasi Selamat Melindungi Nilai JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!