> 웹 프론트엔드 > 프런트엔드 Q&A > JavaScript에서 단계가 동일한지 확인하는 방법

JavaScript에서 단계가 동일한지 확인하는 방법

青灯夜游
풀어 주다: 2022-02-23 18:57:51
원래의
3532명이 탐색했습니다.

JavaScript에서 같음을 확인하는 방법: 1. "==" 또는 "!==" 연산자를 사용하여 두 피연산자의 값이 같은지 비교합니다. 2. "===" 또는 "! ==" 연산자 기호는 두 피연산자의 값이 같은지 비교하고, 그 유형이 같은지 확인합니다.

JavaScript에서 단계가 동일한지 확인하는 방법

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

JavaScript는 평등을 결정합니다

JavaScript에서는 =====!=!== 연산자를 사용하여 평등 또는 불평등을 결정할 수 있습니다.

동등 감지 연산자 Explanation
==(동등) 비교 두 피연산자의 값이 같은지
!= (기다리고 싶지 않음) 두 피연산자의 값이 같지 않은지 비교
=== (합동) 둘을 비교하여 두 피연산자의 값이 같은지, 유형이 같은지 확인
!== (일치하지 않음) 두 피연산자의 값이 같지 않은지 비교 동등하고, 그 유형이 동일하지 않은지 확인하세요

항등 연산에서는 다음 사항에 주의해야 합니다.

  • 피연산자가 부울 값인 경우 먼저 숫자 값으로 변환됩니다. 여기서 false는 0으로 변환되고 true는 1로 변환됩니다.

  • 피연산자 중 하나가 문자열이고 다른 피연산자는 숫자인 경우 먼저 문자열을 숫자로 변환해 보세요.

  • 한 피연산자가 문자열이고 다른 피연산자가 객체인 경우 먼저 객체를 문자열로 변환해 보세요.

  • 피연산자 중 하나가 숫자이고 다른 피연산자는 객체인 경우 먼저 객체를 숫자로 변환해 보세요.

  • 두 피연산자가 모두 객체인 경우 참조 주소를 비교하세요. 참조 주소가 동일하면 동일하고, 그렇지 않으면 동일하지 않습니다.

예제 1

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

console.log("1" == 1);  //返回true。字符串被转换为数字
console.log(true == 1);  //返回true。true被转换为1
console.log(false == 0);  //返回true。false被转换为0
console.log(null == 0);  //返回false
console.log(undefined == 0);  //返回false
console.log(undefined == null);  //返回true
console.log(NaN == "NaN");  //返回false
console.log(NaN ==1);  //返回false
console.log(NaN == NaN);  //返回false
console.log(NaN != NaN);  //返回true
로그인 후 복사

NaN ​​​​은 자신을 포함한 어떤 값과도 동일하지 않습니다. null 값과 정의되지 않은 값은 동일하지만 데이터 유형이 다릅니다. 동등 비교에서는 null과 undefine을 다른 유형의 값으로 변환하는 것이 허용되지 않습니다.

예제 2

다음 두 변수의 값은 동일합니다.

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

숫자 및 부울 값의 동등 비교 연산은 상대적으로 효율적인 반면, 문자열은 문자별로 비교해야 하며, 동등 비교 연산 효율이 상대적으로 낮습니다.

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

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

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

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

예제 3

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

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

예제 4

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

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

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

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

예제 5

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

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

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

예제 6

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

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

예 7

표현식 (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 학습 튜토리얼

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

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