여기 jQuery inArray
페이지 의 주석을 읽으면 흥미로운 선언이 있습니다.
!!~jQuery.inArray(elm, arr)
이제 이중 느낌표가 결과를 boolean
값이있는 type으로 변환 할 것이라고 믿습니다 true
. 내가 이해하지 못하는 것은이 모든 것에서 물결표 ( ~
) 연산자를 사용하는 것입니다.
var arr = ["one", "two", "three"];
if (jQuery.inArray("one", arr) > -1) { alert("Found"); }
if
진술 리팩토링 :
if (!!~jQuery.inArray("one", arr)) { alert("Found"); }
고장:
jQuery.inArray("one", arr) // 0
~jQuery.inArray("one", arr) // -1 (why?)
!~jQuery.inArray("one", arr) // false
!!~jQuery.inArray("one", arr) // true
또한 물결표를 앞에 넣으면 결과가 -2
.
~!!~jQuery.inArray("one", arr) // -2
여기서 물결표의 목적을 이해하지 못합니다. 누군가가 그것을 설명하거나 리소스를 가리킬 수 있습니까?