Operator Coalescing Nullish `??` dalam JavaScript

Barbara Streisand
Lepaskan: 2024-09-19 16:31:09
asal
500 orang telah melayarinya

Nullish Coalescing Operator `??` in JavaScript

Dalam blog ini, kami akan meneroka operator penggabungan batal ?? dalam JavaScript. Kami akan membandingkannya dengan operator OR logik ||, membincangkan keutamaannya dan memberikan contoh praktikal untuk membantu anda memahami penggunaannya. Jom terjun!

Operator Penggabungjalinan Batal ??

Pengendali penggabungan nullish ?? digunakan untuk memberikan nilai lalai apabila berurusan dengan null atau undefined. Ia mengembalikan operan tangan kanan apabila operan kiri adalah null atau undefined. Jika tidak, ia mengembalikan operan sebelah kiri.

Sintaks:

result = value1 ?? value2;

Salin selepas log masuk

Contoh:

let user = null;
let defaultUser = "Guest";

let currentUser = user ?? defaultUser;
console.log(currentUser); // Output: "Guest"

Salin selepas log masuk

Penjelasan:

  • pengguna adalah null.
  • Pengendali ?? mengembalikan Pengguna lalai kerana pengguna adalah null.

Perbandingan dengan ||

Operator OR logik || mengembalikan nilai kebenaran pertama yang ditemuinya. Ini bermakna ia akan mengembalikan operan kanan jika operan kiri adalah palsu (palsu, 0, "", null, tidak ditentukan, NaN).

Contoh:

let user = "";
let defaultUser = "Guest";

let currentUser = user || defaultUser;
console.log(currentUser); // Output: "Guest"

Salin selepas log masuk

Penjelasan:

  • pengguna adalah rentetan kosong "" (palsu).
  • Pengendali || mengembalikan Pengguna lalai kerana pengguna adalah palsu.

Perbezaan Utama

  • ??: Hanya menganggap null dan undefined sebagai nilai palsu.
  • ||: Mengambil kira semua nilai palsu (palsu0""null tidak ditentukanNaN).

Contoh:

let user = 0;
let defaultUser = "Guest";

let currentUser1 = user ?? defaultUser;
let currentUser2 = user || defaultUser;

console.log(currentUser1); // Output: 0
console.log(currentUser2); // Output: "Guest"

Salin selepas log masuk

Penjelasan:

  • pengguna adalah 0 (palsu untuk || tetapi bukan untuk ??).
  • Pengendali ?? mengembalikan 0 kerana pengguna bukan null atau tidak ditentukan.
  • Pengendali 
  • || kembali "Tetamu" kerana pengguna adalah palsu.

Keutamaan

Pengendali penggabungan batal

?? mempunyai keutamaan yang lebih rendah daripada kebanyakan pengendali lain, termasuk operator OR logik ||. Ini bermakna ungkapan yang melibatkan ?? dinilai selepas ungkapan yang melibatkan ||.

Contoh:

let a = null;
let b = false;
let c = "Hello";

let result1 = a ?? b || c;
let result2 = a || b ?? c;

console.log(result1); // Output: "Hello"
console.log(result2); // Output: "Hello"

Salin selepas log masuk

Penjelasan:

  • a ?? b mengembalikan salah kerana a adalah batal dan b adalah salah..
  • palsu || c kembali "Hello" kerana palsu adalah palsu dan c adalah kebenaran.
  • a || b mengembalikan palsu kerana a adalah batal dan b adalah salah.
  • .
  • salah ?? c kembali "Hello" kerana palsu bukan null atau undefined
  • .

Contoh Praktikal

Mari kita susun semuanya dengan beberapa contoh praktikal:

Menggunakan ?? untuk Nilai Lalai

function getUserName(user) {
  return user.name ?? "Guest";
}

let user1 = { name: "Alice" };
let user2 = { age: 25 };

console.log(getUserName(user1)); // Output: "Alice"
console.log(getUserName(user2)); // Output: "Guest"

Salin selepas log masuk

Penjelasan:

  • Jika nama pengguna adalah batal atau tidak ditentukan?? pengendali akan kembali "Tetamu"
  • .

Menggunakan || untuk Nilai Lalai

function getUserName(user) {
  return user.name || "Guest";
}

let user1 = { name: "" };
let user2 = { age: 25 };

console.log(getUserName(user1)); // Output: "Guest"
console.log(getUserName(user2)); // Output: "Guest"

Salin selepas log masuk

Penjelasan:

  • Jika nama pengguna adalah palsu (mis., ""), || pengendali kembali "Tetamu".

Ringkasan

  • ?? (Nullish Coalescing Operator): Mengembalikan operan kanan jika operan kiri adalah null atau undefined.
  • || (Logik ATAU Operator): Mengembalikan nilai kebenaran pertama yang ditemuinya.
  • Keutamaan: Pengendali ?? mempunyai keutamaan yang lebih rendah daripada pengendali || .

Kesimpulan

Pengendali penggabungan batal ?? ialah alat yang berkuasa dalam JavaScript untuk menyediakan nilai lalai apabila berurusan dengan null atau undefined. Dengan memahami perbezaannya daripada operator OR logik || dan keutamaannya, anda akan dapat menulis kod yang lebih mantap dan bebas ralat. Teruskan berlatih dan meneroka untuk mendalami pemahaman anda tentang pengendali penggabungan batal dalam JavaScript.

Nantikan blog yang lebih mendalam tentang JavaScript! Selamat mengekod!

Atas ialah kandungan terperinci Operator Coalescing Nullish `??` dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!