JavaScript 7 — Operator Kesetaraan (== vs ===)

Apr 01 2023
Perbedaan antara operator persamaan Perbedaan utama antara operator persamaan == dan === dalam JavaScript adalah sebagai berikut: Membandingkan nilai: Untuk membandingkan dua nilai persamaan, Anda dapat menggunakan operator == atau ===, bergantung pada apakah Anda ingin melakukan pemaksaan tipe atau tidak. Di baris kedua, null === undefined mengembalikan false karena operator === melakukan perbandingan ketat, yang berarti operan tidak dikonversi ke tipe umum sebelum membandingkannya.

Perbedaan antara operator kesetaraan

Perbedaan utama antara operator persamaan ==dan ===dalam JavaScript adalah sebagai berikut:

  • ==melakukan type coercion , artinya ia akan mencoba mengubah operan menjadi tipe umum sebelum perbandingan, sedangkan ===tidak melakukan type coercion .
  • ==memeriksa kesetaraan nilai dengan paksaan, sedangkan ===memeriksa kesetaraan nilai dan jenis.

Membandingkan nilai : Untuk membandingkan dua nilai untuk kesetaraan, Anda dapat menggunakan operator ==atau ===, tergantung pada apakah Anda ingin melakukan pemaksaan tipe atau tidak.

const num1 = 10;
const num2 = '10';
console.log(num1 == num2); // Output: true (value equality with coercion)
console.log(num1 === num2); // Output: false (type inequality)

const day = 'Monday';
switch(day) {
  case 'Monday':
    console.log('Today is Monday');
    break;
  case 'Tuesday':
    console.log('Today is Tuesday');
    break;
  default:
    console.log('Today is not Monday or Tuesday');
    break;
}

let x = null;
let y;

console.log(x == null); // Output: true
console.log(y == undefined); // Output: true
console.log(x === null); // Output: true
console.log(y === undefined); // Output: true

console.log(null == undefined); // true
console.log(null === undefined); // false

Di baris kedua, null === undefinedmengembalikan falsekarena ===operator melakukan perbandingan yang ketat, yang berarti operan tidak dikonversi ke tipe umum sebelum membandingkannya. Karena nulldan undefinedmemiliki jenis yang berbeda, mereka tidak dianggap sama.

Memeriksa apakah ada nilai : Saat memeriksa apakah ada nilai, Anda mungkin ingin menggunakan ==dan membandingkannya dengan nullatau undefineduntuk melihat apakah itu salah.

const myValue = '';
if (myValue == null) {
  console.log('The value is null or undefined');
}

const obj1 = { name: 'John' };
const obj2 = { name: 'John' };
const obj3 = obj1;
console.log(obj1 == obj2); // Output: false
console.log(obj1 === obj2); // Output: false
console.log(obj1 === obj3); // Output: true