빌 도마뱀은 this answer에서 평등 연산자 (==
)를 사용할 때의 위험과 단점을 설명했습니다. 그러나 비밀리에 "악의 쌍둥이"인 >=
과 <=
에 대해서는 거의 언급되지 않았습니다.위험도는 <= and > = 자바 스크립트입니다. 어떻게 피하는가?
0 >= '' // true
0 <= '' // true
'' >= 0 // true
'' <= 0 // true
따라서, 내 질문은 : 다른 유형의
- 한다 요소는 기본적으로 비교할 수?
1.1 그렇지 않은 경우 반환 값은 무엇입니까?false
?undefined
?a >= b === false
인 경우a < b === true
을 의미합니다. - 실제적인 방법으로 인을 피하기 위해 수행 할 수있는 작업은 다음과 같습니다.
- 보다 큰 연산자 (
<
)와 (>
) 연산자도 유형 변환을 수행하므로 이상한 사례가 있습니까?
그냥 자바 스크립트의 위험이 있습니다. [WAT] (https://www.destroyallsoftware.com/talks/wat) –
[This (http://stackoverflow.com/questions/13091058/best-and-or-shortest-way-to-do-strict -non-type-converting-compari)가 중요 할 수 있습니다. –
좋은 질문입니다. 관습에 따라, 0 <= '은 일종의 0 ==' '일종의하는 동안, 이해가되지 않는 경우와 같은 경우에는 형식 변환을 수행합니다. 또한 FWIW도 방탄이 아닙니다. +0 === -0, http://ecma262-5.com/ELS5_HTML.htm#Section_11.9.6 – bishop