>  기사  >  웹 프론트엔드  >  es6에서 두 객체가 동일한지 확인하는 방법

es6에서 두 객체가 동일한지 확인하는 방법

青灯夜游
青灯夜游원래의
2022-04-19 15:34:513852검색

es6에서는 Object 객체의 is() 메소드를 사용하여 두 객체가 동일한지 여부를 확인할 수 있습니다. 이 메소드는 두 변수의 값이 동일한지 여부를 감지하고 두 객체의 참조 주소가 있는지 확인합니다. "Object.is(Object 1, Object 2)" 구문은 부울 값을 반환합니다. 이는 두 개체가 동일함을 의미합니다.

es6에서 두 객체가 동일한지 확인하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.

두 개의 개체 유형 개체는 속성과 값이 동일하더라도 == 또는 ===를 사용하여 비교할 때 동일한 것으로 간주되지 않습니다. 이는 값으로 비교되는 기본 유형과 달리 참조(메모리 내 위치)로 비교되기 때문입니다.

var obj1 = {
    name: "xiaoming",
    sex : "male"
}
 
var obj2 = {
    name: "xiaoming",
    sex : "male"
}
 
console.log(obj1 === obj2); // false

하지만 ES6에서는 두 개체의 참조 주소가 일치하는지 확인하는 방법을 제공합니다.

Object.is(a,b)

Object.is() 메서드는 두 값이 일치하는지 확인합니다. 같은 값. 다음 조건이 충족되면 두 값은 동일합니다.

  • 은 모두 정의되지 않았습니다.

  • 은 모두 null입니다.

  • 은 둘 다 true 또는 false입니다.

  • 은 둘 다 길이가 같고 동일한 문자열입니다. 문자의 순서가 동일합니다.

  • 가 모두 동일한 개체로 배열됩니다(각 개체의 참조가 동일함을 의미)

  • 는 모두 숫자이고

    • 은 모두 +0이고

    • 은 모두 -0입니다.

    • 은 모두 NaN

    • 이거나 0이 아니고 NaN도 아니고 동일한 값입니다

반환 값: 두 매개변수가 동일한 값인지 여부를 나타내는 부울 유형입니다.

예 1:

let obj1= {
	a: 1
}
let obj2 = {
	a: 1
}
console.log(Object.is(obj1, obj2)) // false
let obj3 = obj1
console.log(Object.is(obj1, obj3)) // true
console.log(Object.is(obj2, obj3)) // fals

es6에서 두 객체가 동일한지 확인하는 방법

예 2:

Object.is('foo', 'foo')  //true
Object.is(window, window)  //true
Object.is([], [])  //false
Object.is(null, null)  //true

확장 지식:

Object.is() 메서드는 ==(en-US) 작업과 다릅니다. == 연산자는 동등성을 판단하기 전에 변수를 양쪽에 캐스팅합니다(동일한 유형이 아닌 경우)(이 동작의 결과는 "" == false를 true로 판단함). 반면 Object.is는 변수를 캐스팅하지 않습니다. 양측 가치.

Object.is() 메서드도 ===(en-US) 작업과 다릅니다. === 연산자(== 연산자도 포함)는 숫자 -0과 +0을 동일하게 처리하고 Number.NaN과 NaN을 동일하지 않은 것으로 처리합니다.

[관련 권장 사항: javascript 비디오 튜토리얼, 웹 프런트 엔드]

위 내용은 es6에서 두 객체가 동일한지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.