Rumah  >  Artikel  >  hujung hadapan web  >  Operator Coalescing Nullish `??` dalam JavaScript

Operator Coalescing Nullish `??` dalam JavaScript

Barbara Streisand
Barbara Streisandasal
2024-09-19 16:31:09495semak imbas

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;

Contoh:

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

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

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"

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"

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"

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"

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"

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!

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