선행 표현식에서 물결표 연산자의 중요성
물결표 연산자(~)는 JavaScript의 모든 비트를 뒤집는 비트 연산자입니다. 피연산자. 이 연산자는 표현식 평가 전에 자주 사용되어 그 목적과 의미에 대한 의문을 제기합니다.
다음 예제 코드를 살펴보겠습니다.
var attr = ~'input,textarea'.indexOf( target.tagName.toLowerCase() ) ? 'value' : 'innerHTML'
이 코드에서 물결표 연산자는 표현식 평가 앞에 사용됩니다. indexOf() 함수. indexOf() 함수는 문자열 내에서 대상 문자열이 처음 나타나는 인덱스를 반환합니다. 대상 문자열을 찾을 수 없으면 -1을 반환합니다.
물결표 연산자의 효과
물결표 연산자는 indexOf()의 반환 값을 32로 변환합니다. -bit 정수이며 모든 비트를 뒤집습니다. 예를 들어, indexOf()가 -1(대상 문자열을 찾을 수 없음을 나타냄)을 반환하는 경우 물결표 연산자는 이진 표현의 모든 비트를 뒤집습니다.
0000 0000 0000 0000 0000 0000 0000 0001 (original) => 1111 1111 1111 1111 1111 1111 1111 1110 (inverted)
결과는 다음과 같은 양수입니다. JavaScript에서는 진실로 취급됩니다. 따라서 ~'input,textarea'.indexOf(target.tagName.toLowerCase()) 표현식은 대상 문자열이 없으면 true로 평가되고, 있으면 false로 평가됩니다.
사용 물결표 연산자의 경우
흔하지 않지만 물결표 연산자는 다양한 용도로 사용됩니다. 포함:
물결표 연산자의 대안
문자열이나 배열에 값이 있는지 테스트하기 위해 JavaScript는 이제 전용 메서드를 제공합니다.
이 메소드는 부울 값을 직접 반환하므로 물결표에 대한 더 명확하고 효율적인 대안이 됩니다. 연산자.
결론
물결 기호 연산자는 표현식 앞에 올 때 표현식의 값을 비트 표현으로 변환하고 모든 비트를 뒤집습니다. 여러 가지 모호한 용도가 있지만 일반적으로 Array.prototype.includes() 및 String.prototype.includes()와 같은 최신 방법에 비해 명확성이 부족하고 관련성이 떨어지기 때문에 사용하지 않는 것이 좋습니다.
위 내용은 JavaScript에서 표현식 앞에 물결표 연산자를 사용하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!