1. JavaScript의 역할 "=="
1. 양쪽의 ==의 내용이 문자열 일 때, 문자열의 내용이 동일인지 비교하십시오.
2. ==의 양쪽의 내용이 숫자 일 때, 숫자의 크기가 동일인지 비교하십시오.
3. ==의 양쪽의 내용이 객체의 객체 또는 함수 속성 일 때, 메모리 주소가 같은지 비교하십시오.
2. ==와 ===의 차이
== 일반 비교에 사용됩니다. === 엄격한 비교에 사용됩니다. == 비교 중에 데이터 유형을 변환 할 수 있습니다.
예를 들어 :
<script type = "text/javaScript"> alert ( "/"/"== true result :"+( ""== true)); Alert ( "/"/"=== true result :"+( ""== true)); Alert ( "/"/"=== true result : "+(" "==)); Alert ("/"/"==== "+(" "==)); Alert ("/"/"==== "+(" "===)); </script>"1"== True 유형이 다릅니다. "=="유형 변환이 먼저 수행되고, 진정한 1은 변환됩니다. "1"== 1; 현재 유형은 여전히 다르고, 유형 변환을 계속 수행하며, "1"은 1으로 변환되며, 이는 1 == 1입니다. 현재 "=="왼쪽과 오른쪽의 양쪽에있는 유형은 숫자 유형이며, 이는 비교적 성공입니다!
"1"=== True 왼쪽은 문자 유형이고 오른쪽은 bool 유형이며 왼쪽과 오른쪽은 다르고 결과는 False입니다.
"1"=== 1 왼쪽은 문자 유형이고 오른쪽은 int 숫자 유형이며 왼쪽과 오른쪽은 다르고 결과는 거짓입니다.
실행 결과 :
요약 :
==와 == : "=="의 차이는 값만 같아야합니다. "==="값과 유형은 동일해야합니다.
JavaScript에서 세 개의 동일한 징후와 2 개의 동일한 징후의 차이점을 자세히 설명하겠습니다.
== 평등은 동일합니다. === 정체성은 평등입니다.
==, 양면에 다른 유형의 값이있는 경우, 유형 변환을 먼저 수행 한 다음 비교해야합니다.
==, 유형 변환이 수행되지 않으므로 다른 유형이 달라야합니다.
다음은 별도로 설명됩니다.
===에 대해 이야기합시다. 이것은 비교적 간단하다.
다음 규칙은 두 값 ===가 같은지 여부를 결정하는 데 사용됩니다.
1. 유형이 다르면 [동일하지 않습니다]
2. 둘 다 숫자 값이고 동일한 값이라면 [동일]; (! 예외)는 적어도 하나가 NAN이라면 [동일하지 않음]입니다. (값이 NAN인지 확인하려면 isnan ()을 사용하여 판단 할 수 있습니다)
3. 둘 다 문자열이고 각 위치의 문자가 동일하다면 [평등]; 그렇지 않으면 [동일하지 않음].
4. 두 값이 모두 참이 있거나 둘 다가 false 인 경우 [동일].
5. 두 값이 동일한 객체 또는 함수를 참조하면 [평등]; 그렇지 않으면 [동일하지 않음].
6. 두 값이 모두 null이거나 정의되지 않은 경우 [동일].
다음 규칙에 따라 ==에 대해 이야기 해 봅시다.
1. 두 값 유형이 동일하면 === 비교를 make하십시오.
2. 두 값 유형이 다르면 동일 할 수 있습니다. 유형 변환은 다음 규칙에 따라 수행 된 다음 비교됩니다.
에이. 하나가 널이고 다른 하나는 정의되지 않은 경우 [동일].
비. 하나가 문자열이고 다른 하나는 숫자 값 인 경우 문자열을 숫자 값으로 변환 한 다음 비교하십시오.
기음. 값이 참이면 1으로 변환하여 비교하십시오. 값이 False 인 경우 0으로 변환하여 비교하십시오.
디. 하나가 객체이고 다른 하나는 숫자 또는 문자열 인 경우 객체를 기본 유형의 값으로 변환 한 다음 비교하십시오. 객체를 기본 유형으로 변환하고 ToString 또는 Values의 메소드를 사용하십시오. JS Core 내장 클래스는 Tostring 이전에 가치를 평가하려고합니다. 예외는 날짜이며 Tostring 변환을 사용합니다. 비 JS 핵심 객체,
lingshuo (나는 많이 이해하지 못한다)
이자형. 다른 조합은 [동일하지 않습니다].
예를 들어:
"1"== True
유형이 다르면, True는 먼저 값 1으로 변환되고 이제 "1"== 1이되고 "1"을 1으로 변환 한 다음 1 == 1을 비교합니다.
= 할당 연산자
== 동일합니다
=== 엄격하게 동일합니다
예:
var a = 3;
var b = "3";
a == B는 true를 반환합니다
a === b는 false를 반환합니다
A와 B의 유형이 다르기 때문입니다
=== 엄격한 비교 판단을하는 데 사용되었습니다