> 웹 프론트엔드 > 프런트엔드 Q&A > 자바스크립트 ID 연산자란 무엇입니까?

자바스크립트 ID 연산자란 무엇입니까?

青灯夜游
풀어 주다: 2022-02-15 17:44:00
원래의
3182명이 탐색했습니다.

JavaScript에서 항등 연산자는 "==="이며 방정식의 양쪽 피연산자가 같은지 비교하는 데 사용됩니다. 비교 연산 중에 "==="는 두 피연산자의 값이 같은지 비교할 뿐만 아니라, 값이 같고 유형이 같은지 여부도 확인합니다. , true가 반환됩니다.

자바스크립트 ID 연산자란 무엇입니까?

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

JavaScript에서 항등 연산자는 "==="이며 방정식의 양쪽 피연산자가 같은지 비교하는 데 사용됩니다.

비교 연산을 수행할 때 "===" 연산자는 두 피연산자의 값이 같은지 비교할 뿐만 아니라 해당 유형이 같은지도 확인합니다.

ID 연산에서는 다음 문제에 주의해야 합니다.

  • 두 피연산자가 모두 단순한 값인 경우 값이 동일하고 유형이 동일한 한 합동입니다.

  • 한 피연산자는 단순 값이고 다른 피연산자는 복합 객체인 경우 합동이 아닙니다.

  • 두 피연산자가 복합 객체인 경우 참조 주소가 동일한지 비교합니다.

(1) 유형이 다르면 동일하지 않아야 합니다.

(2) 둘 다 숫자 값이고 동일한 값이면 둘 중 하나 이상이 NaN이면 동일합니다. , 그러면 그들은 동일하지 않습니다. (값이 NaN인지 확인하려면 isNaN()만 사용하여 확인할 수 있습니다.)

(3) 둘 다 문자열이고 각 위치의 문자가 동일하면 동일하고, 그렇지 않으면 동일하지 않습니다.

(4) 두 값이 모두 true 또는 false이면 동일합니다

(5) 두 값이 모두 동일한 객체 또는 함수를 참조하면 동일하고, 그렇지 않으면 동일하지 않습니다

( 6) 두 값이 모두 null이거나 정의되지 않은 경우에는 동일합니다

예1

다음은 특수 피연산자의 합동 비교입니다.

console.log(null === undefined);  //返回false
console.log(0 === "0");  //返回false
console.log(0 === false);  //返回false
로그인 후 복사

예제 2

다음은 두 객체를 비교한 것으로, 둘 다 동일한 주소를 참조하므로 true를 반환합니다.

var a = {};
var b = a;
console.log(a === b);  //返回true
로그인 후 복사

다음 두 객체는 ​​구조는 동일하지만 주소가 다르기 때문에 합동이 아닙니다.

var a = {};
var b = {};
console.log(a === b);  //返回false
로그인 후 복사

예제 3

복합 객체의 경우 참조 주소를 주로 비교하고, 객체의 값은 비교하지 않습니다.

var a = new String("abcd);  //定义字符串“abcd”对象
var b = new String("abcd);  //定义字符串“abcd”对象
console.log(a === b);  //返回false
console.log(a == b);  //返回false
로그인 후 복사

위의 예에서 두 객체의 값은 같지만 참조 주소가 다르기 때문에 기다리기를 원하지도 않고 같지도 않습니다. 따라서 복합 객체의 경우 같음 == 및 일치 === 연산의 결과는 동일합니다.

예제 4

간단한 값의 경우, 동일한 유형과 동일한 값을 갖는 한, 표현식 연산의 프로세스 변경이나 변수의 참조 주소에 관계없이 합동입니다.

var a = "1" + 1;
var b = "11";
console.log(a ===b);  //返回true
로그인 후 복사

예 5

(a>b || a==b) 표현식은 (a>=b) 표현식과 정확히 동일하지 않습니다.

var a = 1;
var b = 2;
console.log((a > b || a == b) == (a >= b));  //返回true,此时似乎相等
로그인 후 복사

변수 a와 b에 각각 null과 undefine이 할당되면 false 값이 반환되어 두 표현식이 완전히 동일하지 않음을 나타냅니다.

var a = null;
var b = undefined;
console.log((a > b || a == b) == (a >= b));  //返回false,表达式的值并非相等
로그인 후 복사

null == undefound가 true와 같기 때문에 표현식(a > b || a == b)의 반환 값은 true이지만 null >= undefine 표현식의 반환 값은 false입니다.

【관련 권장 사항: javascript 학습 튜토리얼

위 내용은 자바스크립트 ID 연산자란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿