JavaScript에서 표현식 앞에 물결표 연산자를 사용하는 이유는 무엇입니까?
선행 표현식에서 물결표 연산자의 중요성
물결표 연산자(~)는 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로 평가됩니다.
사용 물결표 연산자의 경우
흔하지 않지만 물결표 연산자는 다양한 용도로 사용됩니다. 포함:
- 저수준 프로그래밍: 비트를 직접 조작할 수 있습니다.
- 성능 최적화: 비트 트릭에 사용할 수 있습니다. 특정 상황에서 성과를 향상시키기 위해.
- 참/거짓 캐스팅: 찾을 수 없는 경우에 대해 indexOf()의 반환 값을 실제 값으로 변환하는 트릭으로 사용할 수 있습니다.
- 숫자 잘림: 악용될 수 있습니다. 숫자를 32비트로 자르고 양수에 대해 Math.floor()를 효과적으로 수행합니다.
물결표 연산자의 대안
문자열이나 배열에 값이 있는지 테스트하기 위해 JavaScript는 이제 전용 메서드를 제공합니다.
- Array.prototype.includes() arrays
- String.prototype.includes() for strings
이 메소드는 부울 값을 직접 반환하므로 물결표에 대한 더 명확하고 효율적인 대안이 됩니다. 연산자.
결론
물결 기호 연산자는 표현식 앞에 올 때 표현식의 값을 비트 표현으로 변환하고 모든 비트를 뒤집습니다. 여러 가지 모호한 용도가 있지만 일반적으로 Array.prototype.includes() 및 String.prototype.includes()와 같은 최신 방법에 비해 명확성이 부족하고 관련성이 떨어지기 때문에 사용하지 않는 것이 좋습니다.
위 내용은 JavaScript에서 표현식 앞에 물결표 연산자를 사용하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









