Saya akan menjelaskan dengan contoh:
Operator Elvis (?:)
"Operator Elvis" adalah kependekan dari operator ternary Jawa. Salah satu contoh di mana hal ini berguna adalah untuk mengembalikan nilai 'sensible default' jika ekspresi diputuskan menjadi false atau null. Contoh sederhana mungkin terlihat seperti ini:
def gender = user.male ? "male" : "female" //traditional ternary operator usage
def displayName = user.name ?: "Anonymous" //more compact Elvis operator
Operator Navigasi Aman (?)
Operator Navigasi Aman digunakan untuk menghindari NullPointerException. Biasanya ketika Anda memiliki referensi ke objek Anda mungkin perlu memverifikasi bahwa itu tidak nol sebelum mengakses metode atau properti objek. Untuk menghindari hal ini, operator navigasi yang aman hanya akan mengembalikan nol alih-alih melemparkan pengecualian, seperti:
def user = User.find( "admin" ) //this might be null if 'admin' does not exist
def streetName = user?.address?.street //streetName will be null if user or user.address is null - no NPE thrown
??
) yang tepat dalam javascript? Semua yang saya temukan sejauh ini menunjukkan bahwa JS hanya memiliki penggabungan "falsey" (menggunakan ||
).