>  기사  >  웹 프론트엔드  >  JavaScript 부울 연산자 구문 분석 && || _자바스크립트 기술

JavaScript 부울 연산자 구문 분석 && || _자바스크립트 기술

WBOY
WBOY원래의
2016-05-16 17:50:561106검색
1. 논리부정

논리부정은 사용하지 않습니다! ECMAScript의 모든 유형의 값에 적용될 수 있음을 나타냅니다. 논리적 NOT 연산은 부울 값(true/false)을 반환합니다. 이 연산자는 먼저 피연산자를 부울 값으로 변환한 다음 이를 부정합니다.

다음은 Boolean() 변환 함수에 대한 일련의 규칙을 설명합니다.
数据类型 转换为true的值 转换为false的值
Boolean true false
String   任何非空字符串 ""(空字符串)
Number  任何非零数字值(包括无穷大) 0和NaN
Object 任何对象 null
Undefined  无 undefined
데이터 유형

true로 변환된 값
false로 변환된 값
부울
거짓
문자열  비어 있지 않은 문자열
""(빈 문자열)
숫자  0이 아닌 모든 숫자 값(무한대 포함)
0 및 NaN
객체 모든 개체
null
정의되지 않음 없음
정의되지 않음

Boolean() 변환 함수의 간단한 표현입니다. ----------! !


2. 논리 AND
논리 AND 연산자는 두 개의 앰퍼샌드(&&)로 표현되며 두 개의 피연산자를 갖습니다. 논리적 AND 연산은 부울 값뿐만 아니라 모든 유형의 피연산자에 적용할 수 있습니다. 피연산자 중 하나가 부울 값이 아닌 경우 논리 AND 연산은 이때 반드시 부울 값을 반환하지 않으며 다음 규칙을 따릅니다. 1. 두 번째 피연산자가 반환됩니다. 2. 두 번째 피연산자가 객체인 경우 첫 번째 피연산자의 평가 결과가 true인 경우에만 객체가 반환됩니다. 객체이면 두 번째 피연산자가 첫 번째 규칙을 따릅니다.
4. 하나의 연산이 null이면 null을 반환합니다.
5. 하나의 연산자가 NaN이면
6을 반환합니다.

논리 AND 연산은 단락 연산입니다. 즉, 첫 번째 피연산자가 결과를 결정할 수 있으면 두 번째 피연산자는 평가되지 않습니다. (두 개의 내부 반환 작업으로 이해될 수 있습니다.) 따라서 규칙 4, 5, 6이 충돌하는 경우 단락 작동 원리를 따라야 합니다.




코드 복사var test
test = na&&nul;
document.write(test) //NaN




코드 복사


코드는 다음과 같습니다.


var nul = null;
var na = NaN; test;
test = nul&&na;
document.write(test); //null 자, 요약해 보겠습니다. && 연산은 주로 다음과 같은 몇 가지 원칙을 따릅니다. 1. 단락 연산 원리 2. 평가 과정에서 복사본을 생성하도록 변환되지만 반환 값은 원래 값입니다.



코드 복사


코드는 다음과 같습니다.


// 유사 코드
function &&(param1,param2){
bparam1 = Boolean(param1);
if (!bparam1) return param1; Boolean(param2) return param2;
// 매개변수가 객체인 경우 반환 참조된 포인터 값, 함수는


과 동일합니다. 3. 논리 OR 논리적 OR 기호는 두 개의 수직 막대 기호(||)로 표시됩니다. 논리 OR 기호도 단락 연산자입니다. 구현 과정은 논리 AND의 의사 코드라고 할 수 있습니다. 일부 규칙은 여기에 나열되지 않습니다. 논리적 OR은 evt = evt window.event와 같은 매개변수의 기본 처리에 자주 사용됩니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.