ちょっとちょっとこのショートカットがJavaScriptで使用されているのを見たことがあります。Math.floorを使用せずにMath.floorを取得するJavascriptパイプ
(9 + 2)/2|0; // results in 5
通常の計算を行うと5.5になります。
トップ式はどのようにしてMath.floor((9 + 2)/ 2)になりますか? 誰かがそのパイプがやっていることの方向を指すことができます、私はショートカットを理解していません。
ちょっとちょっとこのショートカットがJavaScriptで使用されているのを見たことがあります。Math.floorを使用せずにMath.floorを取得するJavascriptパイプ
(9 + 2)/2|0; // results in 5
通常の計算を行うと5.5になります。
トップ式はどのようにしてMath.floor((9 + 2)/ 2)になりますか? 誰かがそのパイプがやっていることの方向を指すことができます、私はショートカットを理解していません。
シングルパイプ| BitWise ORです。
ビット演算子は整数値のみを許可するため、小数点以下の値を破棄します。
Bitwise OR
演算子| 2ビットのパターンを取り、対応するビットの各対に対してOR演算を実行する。
次の例で説明します。
1010
1100
----------bitwise or
1110
(9+2)/2
の結果は、その後、それはビット単位Or
操作を適用していますJavaScriptの5.5
です。 JavaScriptの場合、ビット単位の操作は64ビット表現では直接動作しません。代わりに、値は32ビット整数に変換されます。つまり、5.5
〜5
の場合、5|0
の結果は5
です。
それはビット単位「または」 –
はこの質問を見て持っているのです:[http://stackoverflow.com/questions/7487977/using-bitwise-or-0-to-floor-a-number – Calum
を一覧JS演算子の...](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators) – nnnnnn