이 글에서는 주로 js의 bool 값 변환 방법과 "&&", "||", "!!" 관련 내용을 소개하고 있으며, 샘플 코드를 통해 자세히 소개하고 있어 공부에 많은 도움이 됩니다. 또는 일할 수 있습니다. 도움이 필요한 친구들이 와서 아래를 살펴볼 수 있습니다.
머리말
가장 먼저 알아야 할 것은 js에는 false인 6가지 값이 있다는 것입니다. 즉: 0, '', null, unundefined, NaN 및 false, 기타(포함) {}, [], Infinity )은 true입니다.
Boolean() 함수를 사용하거나 두 번 부정하여 객체의 부울 값을 얻을 수 있습니다. 예를 들어 Boolean(undefine) 및 !!undefed도 부울 값을 얻을 수 있습니다. false,
For 0, '', null, undefine, NaN, {}, [], Infinity는 false인 부울 값을 찾습니다. false false false false true true true.
그래서 우리가 아는 한 가지는 부울 값입니다. 객체의 내용은 객체 {}인 경우에도 true입니다.
부울 값 변환
데이터 유형 | 부울 값 변환 |
---|---|
undefine | undefine이 false로 변환됨 |
Object | null은 false로 변환되고, 나머지는 true입니다. |
Boolean | false는 false로 변환되고, true는 true로 변환됩니다 |
Number | 0, NaN은 false로 변환되고, 나머지는 true |
String | ""이 false로 변환됩니다. other are true |
"&&"
JavaScript의 "&&" 연산자는 다음과 같습니다.
&& 왼쪽 표현식의 값이 true인 경우, 오른쪽의 표현식이 반환되고, 그렇지 않으면 왼쪽 표현식의 값이 반환됩니다. 여러 && 표현식이 함께 평가되면 false로 평가되는 첫 번째 표현식의 값이 반환됩니다. 모든 표현식이 true로 평가되면 가장 오른쪽 표현식의 값이 반환됩니다.
const aa = {'name': 'xx'}; const bb = aa && aa.age; // bb输出为undefined; let cc; const dd = cc && cc.name ? cc.name : undefined; // dd输出为undefined const dd = cc && cc.name; // dd输出为undefined;
위 두 문장의 코드 실행 결과는 동일합니다. 이전에 코드를 작성할 때 항상 위의 방법을 사용했지만 일부 단일 테스트를 다룰 수 없어 단일 테스트 분기 적용 범위가 매우 낮은 것을 발견했습니다. 이 문제를 해결하기 위해 다음 방법으로 쉽게 변경할 수 있습니다. 이 두 문장의 효과는 동일합니다.
"||"
자바스크립트의 "||" 연산자 알고리즘은 다음과 같습니다.
"||"의 왼쪽에 있는 표현식의 값이 true인 경우 왼쪽 표현식은 반환된 값이고, 그렇지 않으면 오른쪽 표현식의 값을 반환합니다. 여러 개의 "||" 표현식을 함께 연산할 경우, 연산 결과가 true인 첫 번째 표현식의 값을 반환하고, 모든 표현식의 연산 결과가 false이면 가장 오른쪽 표현식의 값을 반환합니다.
const aa = false || 'xx'; // aa输出为'xx'
"!!"
"!!" 표현식을 강제로 부울 값으로 변환하고, 연산 결과는 true 또는 false입니다.
const aa = 'xx'; const bb = !!aa; // bb输出为true const cc = !!(NaN || undefined || null || 0 || '' ); // cc为false;
위 내용은 모두를 위해 제가 정리한 내용입니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다.
관련 기사:
Vuejs의 nextTick()을 통해 비동기 업데이트 큐 구현
CommonsChunkPlugin을 사용하여 공개 모듈을 추출하는 방법
AngularJS에서 MVC에 대한 복잡한 작업이 있습니다
위 내용은 js에서 bool 값을 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!