1. ホーム
  2. javascript

[解決済み] Javascriptで真->1、偽->0を変換する?

2023-07-09 06:53:19

質問

その他に:

true ? 1 : 0

を翻訳する短いトリックはありますか? True->1False->0 をJavascriptで表示できますか?

私は検索しましたが、代替手段を見つけることができませんでした。

というのはどういう意味ですか?

答え:同じ ~~6.6 はトリックで Math.floor

どのように解決するのですか?

多くの方法があります。

// implicit cast
+true; // 1
+false; // 0
// bit shift by zero
true >>> 0; // 1, right zerofill
false >>> 0; // 0
true << 0; // 1, left
false << 0; // 0
// double bitwise NOT
~~true; // 1
~~false; // 0
// bitwise OR ZERO
true | 0; // 1
false | 0; // 0
// bitwise AND ONE
true & 1; // 1
false & 1; // 0
// bitwise XOR ZERO, you can negate with XOR ONE
true ^ 0; // 1
false ^ 0; // 0
// even PLUS ZERO
true + 0; // 1
false + 0; // 0
// and MULTIPLICATION by ONE
true * 1; // 1
false * 1; // 0

による分割を使うこともできます。 1 , true / 1; // 1 などがありますが、可能な限り分割を避けることをお勧めします。

さらに、単項演算子以外の演算子の多くには 代入バージョン というように、変換したい変数があれば、非常に素早く変換することができます。

各方式の比較は このjsperf .