ホームページ > ウェブフロントエンド > jsチュートリアル > チルダ演算子は JavaScript の条件式にどのような影響を与えますか?

チルダ演算子は JavaScript の条件式にどのような影響を与えますか?

Susan Sarandon
リリース: 2024-11-27 20:54:14
オリジナル
283 人が閲覧しました

How Does the Tilde Operator Affect Conditional Expressions in JavaScript?

チルダ演算子を前に置いた条件式

JavaScript では、式の前にチルダ (~) 演算子を付けて、ビット単位の否定を実行できます。条件式を操作する場合、この演算子は特定の用途に使用できます。

コード例:

var attr = ~'input,textarea'.indexOf( target.tagName.toLowerCase() )
           ? 'value'
           : 'innerHTML'
ログイン後にコピー

説明:

indexOf() 関数は、ターゲット値が見つからない場合に -1 を返します。 ~ 演算子を使用してこの値を否定することにより、一致する場合は真 (ゼロ以外の任意の値) に、一致しない場合は偽 (-1) に効果的に変換されます。

ビット単位の演算:

JavaScript では、数値は内部的に 32 ビット整数として表されます。 ~ 演算子は、オペランド内のすべてのビットを反転し、事実上反転します。

たとえば、'input,textarea'.indexOf( target.tagName.toLowerCase() ) の値が 1 (文字を表す) の場合、 'i')、そのバイナリ表現は次のようになります:

0000 0000 0000 0000 0000 0000 0000 0001
ログイン後にコピー

~ 演算子を適用すると、すべての演算子が反転されます。

1111 1111 1111 1111 1111 1111 1111 1110
ログイン後にコピー

結果の値は 2 の補数表現で -2 になります。

条件の結果:

条件式内、 ~'input,textarea'.indexOf( target.tagName.toLowerCase() ) の値は'value' または 'innerHTML' を attr 変数に割り当てるかを決定するために評価されます。ターゲットが見つかった場合、式は true と評価され、「value」が attr に割り当てられます。それ以外の場合、ターゲットが見つからない場合、式は false と評価され、その結果、「innerHTML」が attr.

に割り当てられます。

以上がチルダ演算子は JavaScript の条件式にどのような影響を与えますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート