ES6 に新しい数学メソッドがあることがわかりました: Math.trunc
.
MDN の記事でその説明を読みましたが、 を使用しているように思えます|0
。
さらに、<<0
、>>0
、も同様のことを行います (thanks @kojiro & @Bergi) &-1
。^0
いくつかのテストの後、唯一の違いは次のようです。
Math.trunc
-0
interval に数値を返します(-1,-0]
。ビット演算子は を返し0
ます。Math.trunc
NaN
非数値で返します。ビット演算子は を返し0
ます。
(それらすべての中で)さらに違いはありますか?
n | Math.trunc | Bitwise operators
----------------------------------------
42.84 | 42 | 42
13.37 | 13 | 13
0.123 | 0 | 0
0 | 0 | 0
-0 | -0 | 0
-0.123 | -0 | 0
-42.84 | -42 | -42
NaN | NaN | 0
"foo" | NaN | 0
void(0)| NaN | 0