>웹 프론트엔드 >JS 튜토리얼 >Javascript_javascript 팁에서 && 및 || 사용 요약

Javascript_javascript 팁에서 && 및 || 사용 요약

WBOY
WBOY원래의
2016-05-16 18:28:411135검색

&& 및 || 일반적인 경우에는 비교적 간단하므로 여기서는 논의하지 않습니다.

다음 토론을 위해 두 가지 물건을 준비합니다.

코드 복사 코드는 다음과 같습니다.

var alice = {
name: "alice" ,
toString: function () {
return this.name;
}
}

var smith = {
name: "smith",
toString: 함수 () {
return this.name
}
}

자바스크립트에서 &&는 부울 유형에만 사용할 수 없으며, 부울 유형 결과만 반환할 수도 없습니다.
l 첫 번째 피연산자가 부울 유형이고 값이 false인 경우 false를 직접 반환합니다.
l 첫 번째 피연산자가 부울 유형이고 값이 true이고 다른 피연산자가 object 유형인 경우 이 객체가 반환됩니다.
l 두 피연산자가 모두 객체 유형인 경우 두 번째 객체를 반환합니다.
l 피연산자가 null이면 null이 반환됩니다.
l 피연산자 중 하나라도 NaN이면 NaN을 반환합니다.
l 정의되지 않은 피연산자가 있으면 정의되지 않은 것을 반환합니다.


alert(false && alice); // false
alert(true && alice) // alice

alert(alice && smith)
alert(smith && alice); // 앨리스

alert(null && alice); // null
alert(NaN && alice) // NaN
alert(undefine && alice); // undefine
alert(alice && undefine); // undef

||의 경우 Boolean 형식에만 사용되는 것이 아니고 Boolean 형식의 결과만 반환하는 것도 아닙니다.
실제로 null, undefine, NaN은 false로 처리됩니다. 그리고 그 객체는 참으로 취급됩니다.

l 첫 번째 피연산자가 부울 유형이고 값이 true이면 true를 직접 반환합니다.
l 첫 번째 피연산자가 부울 유형이고 값이 false이고 두 번째 피연산자가 객체이면 객체 객체가 반환됩니다.
l 두 피연산자가 모두 객체 유형인 경우 첫 번째 객체를 반환합니다.
l 두 피연산자가 모두 null이면 null이 반환됩니다.
l 두 피연산자가 모두 NaN이면 NaN을 반환합니다.
l 두 피연산자가 모두 정의되지 않은 경우 정의되지 않은 값이 반환됩니다.
alert(false || 앨리스) // 앨리스

alert(true || alice) // true

alert(alice || smith) // 앨리스

alert(스미스 || 앨리스) // 스미스

alert(null || 앨리스) // 앨리스

alert(앨리스 || null) // 앨리스

alert(null || null) // null

alert(NaN || 앨리스) // 앨리스

alert(앨리스 || NaN) // 앨리스

alert(NaN || NaN);                             // NaN

alert(정의되지 않음 || 앨리스) // 앨리스

alert(앨리스 || 정의되지 않음) // 앨리스

alert(정의되지 않음 || 정의되지 않음); // 정의되지 않음

너무 복잡하게 설명하지 않으셔도 됩니다.
a && b: a와 b를 불리언 타입으로 변환한 후 논리 AND를 수행하세요. . True는 b를 반환하고, false는 a를 반환합니다.
a || b: a, b를 부울 유형으로 변환한 다음 논리 OR을 수행하고, true는 a를 반환하고, false는 b를 반환합니다.
변환 규칙:
객체가 true입니다. 🎜>0이 아닌 숫자는 true
비어 있지 않은 문자열은 true
Others는 false

관련 기사는 다음 기사를 참조하여 요약할 수 있습니다

js AND or 연산자 | | && 마법의 사용
JS는 AND 또는 연산자 우선순위를 사용하여 if else 조건부 판단 표현을 구현합니다
자바스크립트 && 및 || 알고리즘의 대체 사용 기술

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