오늘 qunit 소스 코드를 보다가 아주 이상한 코드 조각을 발견했습니다. 그 의미는 알 수 있지만 이중 느낌표의 역할은 이해가 되지 않습니다.
함수 ID( 이름 ) {
return !! ( typeof document !== "undefine" && document && document.getElementById ) &&
document.getElementById( name );
}
그런 다음 온라인에서 몇 가지 정보를 확인했습니다. 삼항 연산자의 경우 부울 값을 반환합니다.
var ret = !!document.getElementById
은 다음과 같습니다:
var ret = document.getElementById ? true : false;
값이 비어 있지 않은 문자열이고 0이 아닌 숫자인 경우 true를 반환하고, 값이 빈 문자열인 경우 false를 반환합니다. , 0 또는 null.
var a = " "; !a) ; //true
var a = "s"; //true
var a = true; //true
var a = 1; 경고(!!a); //참
var a = -1; //참
경고(!!a); true
var a = 0; //false
var a = ""; //false
var a = false; (!!a); //거짓
var a = null; 경고(!!a); //거짓