0Pricing
JavaScript Academy · Pelajaran

Kesetaraan Longgar vs Ketat

Pahami perbandingan == dan ===.

Kesetaraan Longgar vs Ketat adalah pelajaran JavaScript Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar JavaScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus JavaScript Academy mencakup 4 pelajaran total.

Dua Operator Kesetaraan

JavaScript memiliki dua operator kesetaraan. Kesetaraan ketat membandingkan tanpa konversi. Kesetaraan longgar mengonversi tipe sebelum membandingkan.

console.log(1 === 1)
console.log(1 == "1")

Kesetaraan Ketat

Kesetaraan ketat hanya mengembalikan true jika tipe dan nilainya sama. Tidak terjadi koersi.

console.log(5 === 5)
console.log(5 === "5")
console.log(true === 1)

Kesetaraan Longgar Mengonversi Tipe

Kesetaraan longgar berusaha mengonversi operand ke tipe yang sama sebelum membandingkannya, sehingga dapat menghasilkan true yang mengejutkan.

console.log(5 == "5")
console.log(true == 1)
console.log(0 == false)

Angka dan String

Saat angka dan string dibandingkan dengan kesetaraan longgar, string tersebut terlebih dahulu dikonversi menjadi angka.

console.log("10" == 10)
console.log("10" === 10)

Koersi Boolean

Dalam kesetaraan longgar, boolean dikonversi menjadi angka, sehingga true menjadi 1 dan false menjadi 0 sebelum perbandingan.

console.log(true == 1)
console.log(false == 0)
console.log(true == 2)

Null dan Undefined

Kesetaraan longgar menganggap null setara dengan undefined, tetapi tidak dengan nilai lain seperti nol.

console.log(null == undefined)
console.log(null === undefined)
console.log(null == 0)

Pengecualian NaN

NaN tidak setara dengan apa pun, termasuk dirinya sendiri, dalam kedua operator tersebut. Gunakan Number.isNaN untuk mengujinya.

console.log(NaN === NaN)
console.log(NaN == NaN)
console.log(Number.isNaN(NaN))

Referensi Objek

Objek dibandingkan berdasarkan referensi, bukan isinya. Dua objek berbeda dengan properti yang sama tidak pernah setara.

const a = { x: 1 }
const b = { x: 1 }
console.log(a === b)
console.log(a === a)

Hasil Kesetaraan Longgar yang Mengejutkan

Kesetaraan longgar dapat menghasilkan nilai yang berlawanan dengan intuisi. String kosong setara dengan nol, dan larik kosong setara dengan false setelah koersi.

console.log("" == 0)
console.log([] == false)
console.log("0" == false)

Utamakan Kesetaraan Ketat

Sebagian besar panduan gaya merekomendasikan penggunaan kesetaraan ketat secara bawaan untuk menghindari bug akibat koersi tersembunyi. Gunakan kesetaraan longgar hanya jika ada alasan yang disengaja.

const value = "42"
if (value === "42") {
  console.log("matched as string")
}

Memeriksa Null atau Undefined

Salah satu penggunaan kesetaraan longgar yang diterima adalah memeriksa null atau undefined sekaligus, karena pola dua tanda sama dengan untuk null mencakup keduanya.

function check(v) {
  if (v == null) {
    return "missing"
  }
  return "present"
}
console.log(check(undefined))
console.log(check(0))

Pemeriksaan Singkat

Uji pengetahuan Anda tentang kesetaraan.

Ringkasan

Ringkasan: Tiga tanda sama dengan menghindari koersi; dua tanda sama dengan menerapkannya.

  • Kesetaraan ketat memeriksa tipe dan nilai
  • Kesetaraan longgar terlebih dahulu mengonversi ke tipe yang sama
  • null hanya setara secara longgar dengan undefined
  • Utamakan kesetaraan ketat secara bawaan
console.log(1 === 1)
console.log(1 == "1")

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Kesetaraan Longgar vs Ketat” gratis?

Ya — teks lengkap “Kesetaraan Longgar vs Ketat” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus JavaScript Academy, upgrade ke CoddyKit PRO. Kursus JavaScript Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Kesetaraan Longgar vs Ketat”?

Pahami perbandingan == dan ===. Kamu berlatih JavaScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai JavaScript Academy?

Tidak diperlukan pengalaman sebelumnya. JavaScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Kesetaraan Longgar vs Ketat” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran JavaScript Academy ini?

Ya. Setiap pelajaran JavaScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Nilai Truthy dan Falsy
  2. Kesetaraan Longgar vs Ketat
  3. Koersi Implisit dalam Operasi
  4. Teknik Konversi Eksplisit
← Kembali ke JavaScript Academy