Rumah >hujung hadapan web >tutorial js >Bagaimanakah Elvis dan Operator Navigasi Selamat Melindungi Nilai JavaScript?

Bagaimanakah Elvis dan Operator Navigasi Selamat Melindungi Nilai JavaScript?

Barbara Streisand
Barbara Streisandasal
2024-11-04 01:20:03374semak imbas

How do the Elvis and Safe Navigation Operators Protect JavaScript Values?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn