在Javascript中轉換True-> 1和False-> 0?




javascript & (4)

你可以使用~~boolean ,其中boolean (顯然)是一個布爾值。

~~true  // 1
~~false // 0

此外:

true ? 1 : 0

有什麼簡短的技巧可以在Javascript中“翻譯” False->0 True->1False->0

我搜索過但找不到任何其他選擇

“短道戲”是什麼意思?

回答:同樣~~6.6Math.floor一個技巧


另一種方法可能是使用Number()

Number(true) = 1
Number(false) = 0

...或者您可以使用+true+false


有很多方法可以做到這一點

// 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

你也可以使用除以1true / 1; // 1 true / 1; // 1 ,但我建議盡可能避免分裂。

此外,許多非一元運算符都有一個賦值版本,所以如果你有一個你想要轉換的變量,你可以很快地完成它。

您可以使用此jsperf查看不同方法的比較。







javascript