JavaScript 7 — Operatory równości (== vs ===)
Apr 01 2023
Różnice między operatorami równości Kluczowe różnice między operatorami równości == i === w JavaScript są następujące: Porównywanie wartości: Aby porównać dwie wartości pod kątem równości, można użyć operatora == lub ===, w zależności od tego, czy chcesz wykonać wymuszanie typu, czy nie. W drugim wierszu null === undefined zwraca wartość false, ponieważ operator === przeprowadza ścisłe porównanie, co oznacza, że przed porównaniem operandy nie są konwertowane na wspólny typ.
Różnice między operatorami równości
Kluczowe różnice między operatorami równości ==i ===w JavaScript są następujące:
==wykonuje wymuszanie typu , co oznacza, że przed porównaniem spróbuje przekonwertować operandy na wspólny typ, podczas gdy===nie wykonuje wymuszania typu .==sprawdza równość wartości za pomocą przymusu, podczas gdy===sprawdza równość wartości i typu.
Porównywanie wartości : Aby porównać dwie wartości pod kątem równości, możesz użyć operatora ==lub ===, w zależności od tego, czy chcesz wykonać przekształcenie typu, czy nie.
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
W drugim wierszu null === undefinedzwraca , falseponieważ ===operator przeprowadza ścisłe porównanie, co oznacza, że operandy nie są konwertowane do wspólnego typu przed ich porównaniem. Ponieważ nulli undefinedmają różne typy, nie są uważane za równe.
Sprawdzanie, czy wartość istnieje : Podczas sprawdzania, czy wartość istnieje, możesz chcieć użyć ==jej i porównać z nią nulllub undefinedsprawdzić, czy jest fałszywa.
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
![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































