논리적 또는 (||)
var result = true || 거짓;
논리 및 작업과 유사하게, 부울이 아닌 피연산자가 있거나 논리가 있거나 반드시 부울을 반환 할 필요는 없다면; 현재 다음 규칙을 따릅니다.
□ 첫 번째 피연산자가 물체 인 경우 첫 번째 피연산자가 반환됩니다.
□ 첫 번째 피연산자가 False로 평가되면 두 번째 피연산자가 반환됩니다.
□ 두 피연산자가 물체 인 경우 첫 번째 피연산자가 반환됩니다.
□ 두 피연산자가 모두 널이면 널 리턴하십시오
□ 둘 다 정의되지 않은 경우 정의되지 않은 반환.
□ 둘 다 Nan이면 Nan을 반환하십시오
"==="와 "=="의 차이
평등 연산자 (==)
동등한 연산자는 조작 값을 암시 적으로 변환하고이를 비교합니다.
작동 값이 부울 인 경우 비교 전에 숫자 값으로 변환됩니다.
하나의 작동 값이 문자열이고 다른 작동 값이 숫자 값 인 경우, 문자열은 숫자 () 함수를 통해 숫자 값으로 변환됩니다.
한 조작 값이 객체이고 다른 하나가 아닌 경우, 객체의 () 메소드가 호출되고 결과는 이전 규칙에 따라 비교됩니다.
Null과 Undefined는 동일합니다
작업 값이 NAN 인 경우 동일 비교가 거짓을 반환합니다.
두 작동 값이 객체 인 경우 동일한 객체를 가리키는 지 비교하십시오. 두 피연산자가 동일한 객체를 가리키면 동일 연산자가 true를 반환합니다. 그렇지 않으면 false를 반환합니다.
다음은 별도로 설명됩니다.
===에 대해 이야기합시다. 이것은 비교적 간단하다. 다음 규칙은 두 값 ===가 같은지 여부를 결정하는 데 사용됩니다.
1. 유형이 다르면 [동일하지 않습니다]
2. 둘 다 숫자 값이고 동일한 값이라면 [동일]; (! 예외)는 적어도 하나가 NAN이라면 [동일하지 않음]입니다. (값이 NAN인지 확인하려면 isnan ()을 사용하여 판단 할 수 있습니다)
3. 둘 다 문자열이고 각 위치의 문자가 동일하다면 [평등]; 그렇지 않으면 [동일하지 않음].
4. 두 값이 모두 참이 있거나 둘 다가 false 인 경우 [동일].
5. 두 값이 동일한 객체 또는 함수를 참조하면 [평등]; 그렇지 않으면 [동일하지 않음].
6. 두 값이 모두 null이거나 정의되지 않은 경우 [동일].
다음 규칙에 따라 ==에 대해 이야기 해 봅시다.
1. 두 값 유형이 동일하면 === 비교를 make하십시오.
2. 두 값 유형이 다르면 동일 할 수 있습니다. 유형 변환은 다음 규칙에 따라 수행 된 다음 비교됩니다.
에이. 하나가 널이고 다른 하나는 정의되지 않은 경우 [동일].
비. 하나가 문자열이고 다른 하나는 숫자 값 인 경우 문자열을 숫자 값으로 변환 한 다음 비교하십시오.
기음. 값이 참이면 1으로 변환하여 비교하십시오. 값이 False 인 경우 0으로 변환하여 비교하십시오.
디. 하나가 객체이고 다른 하나는 숫자 또는 문자열 인 경우 객체를 기본 유형의 값으로 변환 한 다음 비교하십시오. 객체를 기본 유형으로 변환하고 ToString 또는 Values의 메소드를 사용하십시오. JS Core 내장 클래스는 Tostring 이전에 가치를 평가하려고합니다. 예외는 날짜이며 Tostring 변환을 사용합니다. 비 JS 핵심 객체, 말하자 (더 번거 롭다, 나는 많이 이해하지 못한다)
이자형. 다른 조합은 [동일하지 않습니다].
표현 값 표현 값
null == undefinedTruetrue == 1true
"NAN"== NANFALSE $ null == 0FALSE
false == 0truenan! = nantrue
요컨대, "=="은 동일한 값 만 필요합니다. "==="는 값과 유형이 동일해야합니다.
정보는 JavaScript Advanced Programming에서 제공되며 나중에 정렬 및 업데이트되었습니다.