JavaScript의 평등 비교는 느슨한 타이핑으로 인해 까다로울 수 있습니다. 이 기사는 Double (==) 및 Triple (===)의 뉘앙스를 사용하여 연산자와 진실과 거짓 가치의 개념을 탐구합니다. .
이러한 개념을 이해하면 더 깨끗하고 예측 가능한 코드로 이어집니다
키 테이크 아웃 :
JavaScript의 동적 타이핑은 유연한 값 과제를 허용하지만 예상치 못한 비교 결과를 유발할 수 있습니다. 느슨한 평등 (==)은 유형의 강요를 수행하여 종종 놀라운 결과를 초래합니다. 엄격한 평등 (===)은 값과 유형을 직접 비교하여보다 신뢰할 수있는 비교를 초래합니다.
모든 JavaScript 값은 Truthy 또는 Falsy입니다. 거짓 값은 ,
,
, , , , 및 입니다. 다른 모든 값은 ,
, , 를 포함한 진실입니다.
진실/거짓 가치와의 느슨한 평등 비교는 예측할 수 없을 수 있습니다. 예를 들어,
는 사실이지만 는 거짓이고 는 참입니다! 엄격한 평등은 이러한 모호성을 피합니다
오류를 피하려면 직접적인 진실/거짓 비교를 피하십시오. 엄격한 평등 (false)을 사용하고 필요할 때 부울 값 (0
또는 -0)으로 명시 적으로 변환하십시오. 이것은 예측 가능한 행동을 보장합니다. 0n
""
JavaScript의 타이핑 시스템 : null
JavaScript 변수는 느슨하게 입력됩니다
undefined
느슨한 평등 (==)은 비교 전에 값을 문자열로 변환합니다 :
NaN
엄격한 평등 (===)은 유형을 고려합니다
'0'
javaScript의 원시 유형은 'false'
, []
, {},
, , 및 입니다. 다른 모든 것은 객체 (배열 포함)입니다
false == 0 == ''
[] == true
진실 대 허위 값 : [] == false
각 값은 부울에 해당합니다
거짓 거정 : ===
, Boolean(), !!
, , , , ,
진실 : 다른 모든 것.
예 :
let x;
x = 1; // x is a number
x = '1'; // x is a string
x = [1]; // x is an array
로그인 후 복사
(감가 상각 된)는 또한 거짓입니다
느슨한 평등 (==) 비교 :
평등이 느슨해지면 진실/거짓 값으로 예상치 못한 결과가 발생합니다
엄격한 평등 (===) 비교 :
엄격한 평등은 명확한 결과를 제공합니다
는 항상 . 입니다
권장 사항 :
직접 비교를 피하십시오 : 대신 사용하십시오
엄격한 평등을 사용하십시오 () :
는 더 예측 가능한 결과를 제공합니다
부울로 변환 : 사용 NaN === NaN
또는 false 명시 적 부울 전환에 사용하십시오.
결론 :
> 진실/거짓 가치를 이해하고 엄격한 평등을 사용하면 코드 신뢰성이 향상됩니다. 디버깅 두통을 방지하기 위해 느슨한 비교의 함정을 피하십시오. .
FAQS (간결성을위한 약어) :
- 진실/거짓 개념 : 부울 맥락에서 참/거짓으로 취급 된 값
JavaScript의 처리 : 강제 유형 강요 값을 부울로 변환합니다
예 : 위 목록을 참조하십시오
진실/거짓 점검 : 부울 맥락에서 사용 또는
!x
vs x == false : 느슨한 vs. 엄격한 평등; 유형 강요를 피하십시오
표현 평가 :
논리 및 () 및 ()에서의 단락.
- 비-비안 허위 값 : , ,
===
, , ,
부울로 변환 :
사용 .
논리적 작업에서의 거짓 값 : 는 작동 결과에 영향을 미칩니다
특별한 경우 : Boolean(x)
vs !!x, 빈 배열/객체는 진실입니다
위 내용은 Truthy and Falsy 가치 : JavaScript에서 모든 것이 동일하지 않은 경우의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!