두 개의 빈 JavaScript 개체가 동일하게 비교되지 않는 이유는 무엇입니까?
Dec 04, 2024 am 01:59 AM왜 두 개의 동일한 객체가 서로 동일하지 않습니까?
JavaScript에서는 항등 연산자(==)와 완전 항등 연산자가 사용됩니다. (===)는 값을 비교하는 데 사용됩니다. 그러나 객체를 비교할 때 이러한 연산자는 예상과 다르게 동작합니다.
다음 코드를 고려하세요.
var a = {}; var b = {}; console.log(a == b); // returns false console.log(a === b); // returns false
이 코드는 a와 b가 모두임에도 불구하고 두 표현식 모두에 대해 false를 기록합니다. 빈 개체. 왜 그렇습니까?
일반(==) 동등과 엄격한(===) 동등의 주요 차이점은 엄격한 동등 연산자는 유형 변환을 비활성화한다는 것입니다. a와 b는 모두 객체이므로 이 경우 항등 연산자의 유형은 중요하지 않습니다.
사용된 항등 연산자에 관계없이 객체 비교는 동일한 객체를 비교하는 경우에만 true로 평가됩니다. . 즉, var a = {}, b = a, c = {};, a == a, a == b이지만 a != c인 경우입니다.
두 개의 다른 객체(비록 그들이 0 또는 동일한 정확한 속성을 가짐)은 결코 동등하게 비교되지 않습니다. 두 개체 속성의 동일성을 비교하려면 Object.is() 메서드를 사용하거나 제공된 답변에 설명된 접근 방식을 사용할 수 있습니다.
위 내용은 두 개의 빈 JavaScript 개체가 동일하게 비교되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









