>웹 프론트엔드 >JS 튜토리얼 >물결표 연산자는 JavaScript의 조건식에 어떤 영향을 줍니까?

물결표 연산자는 JavaScript의 조건식에 어떤 영향을 줍니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-27 20:54:14284검색

How Does the Tilde Operator Affect Conditional Expressions in JavaScript?

앞에 물결표 연산자가 있는 조건식

JavaScript에서는 물결표(~) 연산자를 표현식 앞에 붙여 비트 부정을 수행할 수 있습니다. 조건식을 사용할 때 이 연산자는 특정 용도로 사용될 수 있습니다.

예제 코드:

var attr = ~'input,textarea'.indexOf( target.tagName.toLowerCase() )
           ? 'value'
           : 'innerHTML'

설명:

indexOf() 함수는 대상 값을 찾을 수 없으면 -1을 반환합니다. ~ 연산자를 사용하여 이 값을 부정함으로써 일치하는 경우 진실(0이 아닌 값)으로, 일치하지 않는 경우 거짓(-1)으로 효과적으로 변환합니다.

비트 연산:

JavaScript에서 숫자는 내부적으로 32비트 정수로 표현됩니다. ~ 연산자는 피연산자의 모든 비트를 뒤집어 효과적으로 반전시킵니다.

예를 들어 'input,textarea'.indexOf( target.tagName.toLowerCase() )의 값이 1(문자를 나타냄)인 경우 'i'), 이진 표현은 다음과 같습니다.

0000 0000 0000 0000 0000 0000 0000 0001

~ 연산자를 적용하면 모든 비트가 뒤집어지며 결과는 다음과 같습니다. in:

1111 1111 1111 1111 1111 1111 1111 1110

결과 값은 2의 보수 표현에서 -2입니다.

조건부 결과:

조건식에서 값은 ~'input,textarea'.indexOf( target.tagName.toLowerCase() )를 평가하여 다음을 수행할지 여부를 결정합니다. attr 변수에 'value' 또는 'innerHTML'을 할당합니다. 대상이 발견되면 표현식은 진실로 평가되어 '값'이 attr에 할당됩니다. 그렇지 않고 대상을 찾을 수 없으면 표현식이 거짓으로 평가되어 'innerHTML'이 attr에 할당됩니다.

위 내용은 물결표 연산자는 JavaScript의 조건식에 어떤 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.