>웹 프론트엔드 >JS 튜토리얼 >js 연산자 요약_기본 지식

js 연산자 요약_기본 지식

WBOY
WBOY원래의
2016-05-16 16:31:531302검색

논리 OR(||)

var 결과 = true || false;
논리 AND 연산과 유사하게 논리 OR은 피연산자 중 하나가 부울 값이 아닌 경우 반드시 부울 값을 반환하지 않으며 다음 규칙을 따릅니다. □ 첫 번째 피연산자가 객체이면 첫 번째 피연산자를 반환합니다.

□ 첫 번째 피연산자가 false로 평가되면 두 번째 피연산자가 반환됩니다.

□ 두 피연산자가 모두 객체인 경우 첫 번째 피연산자를 반환합니다.

□ 두 피연산자가 모두 null인 경우 null 반환

□ 둘 다 정의되지 않은 경우 정의되지 않음을 반환합니다.

□ 둘 다 NaN인 경우 NaN을 반환합니다

'==='와 '=='의 차이점

항등 연산자(==)

항등 연산자는 비교 전 연산 값에 대해 암시적 변환을 수행합니다.

피연산자 값이 부울인 경우 비교하기 전에 숫자 값으로 변환하세요.

한 연산 값이 문자열이고 다른 연산 값이 숫자 값인 경우 Number() 함수를 통해 문자열을 숫자 값으로 변환합니다
한 연산 값이 객체이고 다른 연산 값이 객체가 아닌 경우 해당 객체의 valueOf() 메서드가 호출되고 이전 규칙에 따라 결과가 비교됩니다.
null과 정의되지 않음은 동일합니다
연산 값이 NaN이면 동등 비교는 false를 반환합니다
두 피연산자 값이 모두 객체인 경우 동일한 객체를 가리키는지 비교합니다. 항등 연산자는 두 피연산자가 모두 동일한 객체를 가리키면 true를 반환하고, 그렇지 않으면 false를 반환합니다
각각 설명은 다음과 같습니다.
먼저 ===에 대해 이야기해 보겠습니다. 이는 비교적 간단합니다. 두 값이 === 같은지 여부를 결정하는 데 다음 규칙이 사용됩니다.
1. 종류가 다를 경우 [같지 않음]
2. 둘 다 숫자 값이고 동일한 값이면 [같음]이고, (!Exception) 중 적어도 하나가 NaN이면 [같지 않음]입니다. (값이 NaN인지 확인하려면 isNaN()만 사용하면 됩니다.)
3. 둘 다 문자열이고 각 위치의 문자가 동일하면 [같음]이고, 그렇지 않으면 [같지 않음]입니다.
4. 두 값이 모두 참이거나, 둘 다 거짓이면 [같음]입니다.
5. 두 값이 모두 동일한 개체나 함수를 참조하는 경우 [같음]이고, 그렇지 않으면 [같지 않음]입니다.
6. 두 값이 모두 null이거나 둘 다 정의되지 않은 경우 [같음]입니다.

다음 규칙에 따라 ==에 대해 이야기해 보겠습니다.

1. 두 값 유형이 동일한 경우 === 비교를 수행합니다.
2. 두 값 유형이 다른 경우에는 동일할 수 있습니다. 다음 규칙에 따라 유형 변환 및 비교를 수행합니다.
a. 하나는 null이고 다른 하나는 정의되지 않은 경우 [equal]입니다.
b. 하나는 문자열이고 다른 하나는 숫자 값인 경우 문자열을 숫자 값으로 변환한 후 비교합니다.
c. 값이 참이면 1로 변환하고, 거짓이면 0으로 변환하여 비교합니다.
d. 하나는 객체이고 다른 하나는 숫자값이나 문자열인 경우 객체를 기본형의 값으로 변환한 후 비교한다. 객체는 toString 또는 valueOf 메소드를 사용하여 기본 유형으로 변환됩니다. JS 핵심 내장 클래스는 toString 전에 valueOf를 시도합니다. 예외는 toString 변환을 사용하는 Date입니다. Non-js 핵심 객체, Ling Shuo (더 귀찮고 잘 이해가 안 되네요)
e. 다른 조합은 [같지 않음]입니다.

식 값 식 값

null==정의되지 않음 참 참==1 참
"NaN" ==NaN 거짓 $null==0 거짓
false==0 참 NaN!=NaN 참
즉, "=="에는 동일한 값만 필요합니다. "===" 값과 유형이 모두 동일해야 합니다.

이 정보는 자바스크립트 고급 프로그래밍에서 가져온 것이며 나중에 정리하고 업데이트합니다

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